1

关于为什么这不起作用,我已经用尽了我的搜索努力。我相信我正在遵循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
4

3 回答 3

0

你可能在fuzzySuggester中错过了这个:

<str name="weightField">WEIGHT</str>

即使文档说这是一个可选参数,我认为这可能是在惹你生气。如果您没有可以使用的好字段,则可以像这样声明一个:

<field name="WEIGHT" type="tfloat" indexed="true" stored="true" multiValued="false" />  

并且不要费心将任何数据放入其中。

于 2017-04-15T21:27:14.100 回答
0

尝试suggester.dictionary=fuzzySuggester在查询中给出。

http://localhost:8983/solr/my_core/suggest?suggest.build=true&suggester.dictionary=fuzzySuggester

于 2017-04-17T21:19:03.633 回答
0

经过无数小时的互联网搜索并尝试其他人在这篇文章中提供的建议,我得出结论,我的 solrconfig.xml 或 schema.xml 文件中的某些内容已损坏。

我的解决方法是创建一个全新的核心并迁移我在 solrconfig.xml 和 schema.xml 中使用的部分以使其正常工作。不幸的是,我没有更好的答案,但这是我为了解决问题而必须做的。

于 2017-04-22T21:11:43.207 回答