Solr Suggester - 商店查找构建失败
Solr Suggester - Store Lookup build failed
我已经竭尽全力寻找为什么这不起作用。我相信我正在按照 https://cwiki.apache.org/confluence/display/solr/Suggester
中正确找到的文档进行操作
但是,每次我尝试构建建议器时,我都会在日志中收到错误 "SolrSuggester - Store Lookup build failed."。我可以看到它在磁盘上正确地创建了商店的目录,但是文件中没有数据。
我也试过删除行 <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
您可能在 fuzzySuggester 中遗漏了这个:
<str name="weightField">WEIGHT</str>
即使文档说它是一个可选参数,我认为它可能是你的问题。如果你没有可以使用的好字段,你可以像这样声明一个:
<field name="WEIGHT" type="tfloat" indexed="true" stored="true" multiValued="false" />
并且不要费心将任何数据放入其中。
尝试在查询中给出 suggester.dictionary=fuzzySuggester
。
http://localhost:8983/solr/my_core/suggest?suggest.build=true&suggester.dictionary=fuzzySuggester
经过无尽的时间搜索互联网并尝试其他人对此 post 提供的建议后,我得出的结论是我的 solrconfig.xml 或 schema.xml 文件中的某些内容已损坏.
我的解决方法是创建一个全新的核心并迁移我在 solrconfig.xml 和 schema.xml 中使用的部分以使其正常工作。 不幸的是我没有更好的答案,但这是我必须做的才能解决问题。
我已经竭尽全力寻找为什么这不起作用。我相信我正在按照 https://cwiki.apache.org/confluence/display/solr/Suggester
中正确找到的文档进行操作但是,每次我尝试构建建议器时,我都会在日志中收到错误 "SolrSuggester - Store Lookup build failed."。我可以看到它在磁盘上正确地创建了商店的目录,但是文件中没有数据。
我也试过删除行 <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
您可能在 fuzzySuggester 中遗漏了这个:
<str name="weightField">WEIGHT</str>
即使文档说它是一个可选参数,我认为它可能是你的问题。如果你没有可以使用的好字段,你可以像这样声明一个:
<field name="WEIGHT" type="tfloat" indexed="true" stored="true" multiValued="false" />
并且不要费心将任何数据放入其中。
尝试在查询中给出 suggester.dictionary=fuzzySuggester
。
http://localhost:8983/solr/my_core/suggest?suggest.build=true&suggester.dictionary=fuzzySuggester
经过无尽的时间搜索互联网并尝试其他人对此 post 提供的建议后,我得出的结论是我的 solrconfig.xml 或 schema.xml 文件中的某些内容已损坏.
我的解决方法是创建一个全新的核心并迁移我在 solrconfig.xml 和 schema.xml 中使用的部分以使其正常工作。 不幸的是我没有更好的答案,但这是我必须做的才能解决问题。