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 中使用的部分以使其正常工作。 不幸的是我没有更好的答案,但这是我必须做的才能解决问题。