2

私はSOLRのスペルチェックコンポーネントを使用して提案を取得しており、ヒット部分が新しい単語から多数のヒットを返すことを期待していましたが、すべての場合でゼロヒットを返します:

    {
   "spellcheck":{
      "suggestions":[
         "pho",
         {
            "numFound":8,
            "startOffset":0,
            "endOffset":3,
            "suggestion":[
               "photo",
               "phone",
               "phone's",
               "phones",
               "photography",
               "photoimpression's",
               "photographers",
               "photos"
            ]
         },
         "collation",
         [
            "collationQuery",
            "photo",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "photo"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "phone",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "phone"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "phone's",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "phone's"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "phones",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "phones"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "photography",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "photography"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "photoimpression's",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "photoimpression's"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "photographers",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "photographers"
            ]
         ],
         "collation",
         [
            "collationQuery",
            "photos",
            "hits",
            0,
            "misspellingsAndCorrections",
            [
               "pho",
               "photos"
            ]
         ]
      ]
   }
}

私の設定は次のとおりです。

<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.TSTLookupFactory</str>
        <str name="field">text</str>
        <float name="threshold">0.005</float>
        <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.onlyMorePopular">true</str>
        <str name="spellcheck.count">5</str>
        <str name="spellcheck.collate">true</str>
        <str name="spellcheck.maxCollations">10</str>
        <str name="spellcheck.collateExtendedResults">true</str>
    </lst>
    <arr name="components">
        <str>suggest</str>
    </arr>
</requestHandler>

#results をエンドユーザーに表示できるように、これを埋める方法についてのアイデアはありますか?

4

3 に答える 3

0

以下を SearchHandler 構成に追加すると、照合ごとのヒットカウントが取得されます。

<str name="spellcheck.maxCollationTries">1</str>

注:これにより、コレーターは照合を使用して実際のクエリを実行して照合を検証し、ヒットカウントを生成します。検証クエリを高速化するために、スコアリングとブースティングを無効にし、保存されたフィールドをロードしませんが、コレーターは照合ごとに追加のクエリを実行していmaxCollationsます。設定が高い場合は注意が必要です。

于 2014-09-28T11:26:59.753 に答える