我已經嘗試了太陽下的所有東西(它完全稱爲solr),以使solr Suggest不區分大小寫,但它固執地繼續區分大小寫。SOLR 6.4.1提示器固執地區分大小寫,如何區分大小寫?
這將返回墨西哥的建議:
http://localhost:8983/solr/mycollection/autocomplete?suggest.q=Mex
這將返回0結果:
http://localhost:8983/solr/mycollection/autocomplete?suggest.q=mex
進一步診斷我想對我的建議領域,成功返回文檔小寫/選擇搜索含「墨西哥」:
http://localhost:8983/solr/mycollection/select?q=suggestions:mex*
但沒有這樣的幸運usi小寫與提示器。就好像我的<filter class="solr.LowerCaseFilterFactory"/>
在提示器使用時沒有效果。
我當然在測試之前做了一個完整的配置上傳,集合重裝,數據重新索引和建議器重建。我在SOLR 6.4.1上運行雲模式。有任何想法嗎?診斷提示?
schema.xml中
<fieldType name="textSuggest" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<field name="recipe" type="text_general" indexed="true" stored="true" multiValued="false" />
<field name="suggestions" type="textSuggest" indexed="true" stored="true" multiValued="true" />
<copyField source="recipe" dest="suggestions"/>
solrconfig.xml中
<searchComponent class="solr.SuggestComponent" name="suggest">
<lst name="suggester">
<str name="name">foodsuggester</str>
<str name="lookupImpl">WFSTLookupFactory</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">suggestions</str>
<str name="buildOnStartup">false</str>
<str name="buildOnCommit">false</str>
<str name="storeDir">suggester_wfst_dir</str>
<str name="suggestAnalyzerFieldType">textSuggest</str>
</lst>
</searchComponent>
<requestHandler name="/autocomplete" class="solr.SearchHandler" startup="lazy">
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.dictionary">foodsuggester</str>
<str name="suggest.count">10</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
嘿,你是對的! FuzzyLookupFactory的確有訣竅!唯一的是,我不想模糊結果,我只想要確切的不區分大小寫的建議。儘管這是一個很大的進步,謝謝。 – Magnus
確定模糊工廠通過添加 40 只返回確切的不區分大小寫的匹配,這意味着前40個字符必須完全匹配(無視案例)。它完美的工作,並仍然允許縮短精確匹配,例如在我的情況。 –
Magnus
很棒,你找到了解決方法 –