【发布时间】:2014-02-08 23:08:37
【问题描述】:
所以我对 Solr 比较陌生,我有一个关于它与术语匹配的查询,也许是我出错的语法..
假设我有以下架构:
<field name="s_broker_name" type="search_text_type" indexed="true" stored="false" multiValued="true"/>
...
<copyField source="broker_name" dest="s_broker_name"/>
...
<fieldType name="search_text_type" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
</analyzer>
</fieldType>
如果我将 broker_name 的值索引为“Dylan, Bob”并且我的查询语法是 s_broker_name:*Dylan, Bob* 为什么找不到任何东西?
有没有一种简单的方法可以在处理查询时去掉逗号?
谢谢,
【问题讨论】:
-
您是否真的在使用前导 和 尾随通配符(例如 q=*sample*)?尽量避免它,read here。