Solr Suggester - Store Lookup构建失败

时间:2017-04-15 20:29:35

标签: solr solr6

我已经用尽了我的搜索努力,为什么这不起作用。我相信我已按照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

3 个答案:

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