Solr建议器 - 不区分大小写

3
我正在尝试在Solr上开发一个自动完成功能,我找到的方法是使用Solr Suggester。然而,它并没有按照预期工作。如果有人在索引中有一个以Apple开头的字段,并调用http://localhost:8983/solr/techproducts/suggest?suggest=true&suggest.build=true&suggest.dictionary=mySuggester&wt=json&suggest.q=a,它将不会出现。我已经使用suggest.q=A(大写字母)进行了请求。
有没有办法使Solr Suggester不区分大小写?
以下是我的配置:
<searchComponent name="suggest" class="solr.SuggestComponent">
   <lst name="suggester">
      <str name="name">mySuggester</str>
      <str name="lookupImpl">FuzzyLookupFactory</str>
      <str name="dictionaryImpl">DocumentDictionaryFactory</str>
      <str name="field">autocomp</str>
      <str name="weightField">price</str>
      <str name="suggestAnalyzerFieldType">string</str>
   </lst>
</searchComponent>

这里是模式的相关部分:
<fieldType class="solr.TextField" name="textSuggest" positionIncrementGap="100">
   <analyzer>
      <tokenizer class="solr.StandardTokenizerFactory"/>
      <filter class="solr.StandardFilterFactory"/>
      <filter class="solr.LowerCaseFilterFactory"/>
   </analyzer>
</fieldType>

<field name="autocomp" type="textSuggest" indexed="true" stored="true" multiValued="true"/>

<copyField source="title" dest="autocomp"/>

谢谢

2个回答

14

我发现问题出在searchComponent配置的这部分:

<str name="suggestAnalyzerFieldType">string</str>

你必须放置用于分析文本的字段。在我的情况下,它是:

<str name="suggestAnalyzerFieldType">text_general</str>

1
尽管这可能不能解决没有返回任何结果的问题,但为了实现大小写不敏感,我认为您应该将suggestAnalyzerFieldType的值设置为textSuggest。请参见此处。即使拼写检查组件也有类似的东西,但在另一个属性中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接