我已经用尽了我的搜索努力,为什么这不起作用。我相信我已按照https://cwiki.apache.org/confluence/display/solr/Suggester
正确找到的文档进行操作但是,每次我尝试构建建议者时,都会收到错误" SolrSuggester - Store Lookup构建失败。"在日志中。我可以看到它在磁盘上正确创建存储目录,但是文件中没有数据。
我还尝试删除行<str name="storeDir">fuzzy_dir</str>
。如果我这样做并尝试构建,我不会在日志中收到错误,但是,我仍然没有收到任何结果。
任何人都可以看到我的错误吗?
我使用的是Solr 6.5.0。
以下是我在schema.xml中的内容:
<field name="name" type="text_general" indexed="true" stored="true" required="true" multiValued="false" />
<field name="term" type="suggestType" indexed="true" stored="true" />
<copyField source="name" dest="term" />
<fieldType name="suggestType" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory"/>
<filter class="solr.StandardFilterFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
以下是我在solrconfig.xml中的内容:
<searchComponent name="suggest" class="solr.SuggestComponent">
<lst name="suggester">
<str name="name">fuzzySuggester</str>
<str name="lookupImpl">FuzzyLookupFactory</str>
<str name="storeDir">fuzzy_dir</str>
<str name="dictionaryImpl">DocumentDictionaryFactory</str>
<str name="field">term</str>
<str name="suggestAnalyzerFieldType">suggestType</str>
<str name="buildOnStartup">false</str>
<str name="buildOnCommit">false</str>
</lst>
</searchComponent>
<requestHandler name="/suggest" class="solr.SearchHandler" startup="lazy" >
<lst name="defaults">
<str name="suggest">true</str>
<str name="suggest.dictionary">fuzzySuggester</str>
<str name="suggest.count">5</str>
</lst>
<arr name="components">
<str>suggest</str>
</arr>
</requestHandler>
这就是我执行构建的方式:
http://localhost:8983/solr/my_core/suggest?suggest.build=true
答案 0 :(得分:0)
你可能会在fuzzySuggester中错过这个:
<str name="weightField">WEIGHT</str>
即使文档说它是一个可选的参数,我认为这可能是什么搞乱了你。如果你没有一个可以使用的好领域,你可以这样声明一个:
<field name="WEIGHT" type="tfloat" indexed="true" stored="true" multiValued="false" />
并且不要费心将任何数据放入其中。
答案 1 :(得分:0)
尝试在查询中提供suggester.dictionary=fuzzySuggester
。
http://localhost:8983/solr/my_core/suggest?suggest.build=true&suggester.dictionary=fuzzySuggester
答案 2 :(得分:0)
经过无数次搜索互联网并尝试其他人在这篇文章中提供的建议后,我得出结论,我的solrconfig.xml或schema.xml文件中的内容已损坏。
我的修复是创建一个全新的核心并迁移我在solrconfig.xml和schema.xml中使用的部分以使其工作。不幸的是我没有更好的答案,但这是我为解决这个问题必须做的事情。