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 に答える