术语查询

时间:2016-02-15 17:51:43

标签: solr

我们希望在solr中将Term查询设置为不区分大小写,但它不起作用。

http://localhost:8983/solr/terms?terms.fl=name&terms.fl=places&terms.prefix=Delhi

如果我们传递像'德里'这样的字段,它不会返回任何结果,但是'德里'正在返回正确的结果。我们使用下面的索引和查询数据。

<fieldType name="string_ci" class="solr.TextField" sortMissingLast="true"  omitNorms="true"> 
   <analyzer type="index">         
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.WordDelimiterFilterFactory"/>
    <filter class="solr.LengthFilterFactory" min="2" max="100"/>
 </analyzer>  
  <analyzer type="query">
    <tokenizer class="solr.StandardTokenizerFactory"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.LowerCaseFilterFactory"/>
  </analyzer>    

1 个答案:

答案 0 :(得分:0)

仔细检查name和places是否为string_ci类型。 你是否也可以在添加LowerCaseFilterFactory后忘记重新索引?

如果它没有帮助,你能告诉我们它是否正在使用常规查询吗?