1

我希望使用 Solr Suggester组件来提供搜索自动完成建议。

我在架构中创建了一个字段:

<fieldType name="text_autocomplete" class="solr.TextField">
    <analyzer type="index">
        <tokenizer class="solr.LowerCaseTokenizerFactory"/>
    </analyzer>
</fieldType>

虽然我的 solrconfig.xml 看起来像:

<searchComponent class="solr.SpellCheckComponent" name="suggest">
    <lst name="spellchecker">
        <str name="name">suggest</str>
        <str name="classname">org.apache.solr.spelling.suggest.Suggester</str>
        <str name="lookupImpl">org.apache.solr.spelling.suggest.tst.TSTLookup</str>
        <str name="field">title_autocomplete</str>
        <str name="buildOnCommit">true</str>
    </lst>
</searchComponent>
<requestHandler class="org.apache.solr.handler.component.SearchHandler" name="/suggest">
    <lst name="defaults">
        <str name="spellcheck">true</str>
        <str name="spellcheck.dictionary">suggest</str>
        <str name="spellcheck.count">5</str>
        <str name="spellcheck.collate">true</str>
    </lst>
    <arr name="components">
        <str>suggest</str>
    </arr>
</requestHandler>

我得到了明智的结果,这很棒。但是,我想返回匹配文档的 id 字段,而不是我尝试匹配的字段。

4

1 回答 1

1

建议组件用于为您返回与您输入的内容部分匹配的最相关的单词。然后,如果您需要具有建议列表中特定单词的文档,请向 Solr 发出另一个查询(这次是不同的搜索处理程序)并取回文档 ID。

于 2012-10-12T14:16:25.547 回答