solr

2011-12-14 4 views
0

で自動的にsuggestキーワードを使用して結果を取得することは、スペルチェッカーの推奨キーワードを使用して結果を得ることは可能です。 たとえば、wharを検索すると、solrは正しくwharfを示唆していますが、同じリクエストでwharfの結果を得ることは可能ですか?solr

答えて

0

リクエストハンドラでSolrスペルチェッカの設定を定義すると、レスポンス自体で呪文の候補を取得できます。

<requestHandler name="custom_handler" class="solr.SearchHandler"> 
    <lst name="defaults"> 
    <str name="echoParams">explicit</str> 

    <!-- Query settings --> 
    <str name="defType">edismax</str> 
    <str name="qf"> 
     text^0.5 features^1.0 name^1.2 sku^1.5 id^10.0 manu^1.1 cat^1.4 
    </str> 
    <str name="q.alt">*:*</str> 
    <str name="rows">10</str> 
    <str name="fl">*,score</str> 

    <!-- Spell checking defaults --> 
    <str name="spellcheck">on</str> 
    <str name="spellcheck.collate">true</str> 
    <str name="spellcheck.onlyMorePopular">false</str> 
    <str name="spellcheck.extendedResults">false</str> 
    <str name="spellcheck.count">3</str> 
    </lst> 

    <!-- append spellchecking to our list of components --> 
    <arr name="last-components"> 
    <str>spellcheck</str> 
    </arr> 
</requestHandler> 

リクエストハンドラは、qtパラメータ付きのクエリで使用できます。 qt=custom_handler

EDIT -
間違えた問題。 これはできません。あなたは結果を得ることはできませんし、同じ呼び出しで呪文の提案を得ることはできません。再クエリーする必要があります。

+0

ひよう、ありがとうございました。この構成のどのビットが上記の応答設定を定義しているか教えてください。また、spellcheck.countは何をしますか? – Optimus

+0

しかし、これは提案を使用してクエリ結果をフェッチしません。私はそれが可能だとは思わない。 –

+0

@MauricioSchefferに同意すると、同じクエリで返された提案を使用してクエリ結果を取得できません。ただし、結果を調べて結果を確認し、必要に応じて照合値を使用して照合値を新しい照会条件として使用して2番目の照会を発行することもできます。 –