2

こんにちは、私の会社ではシステムの検索エンジンが非常に特殊な必要がありますが、解決策が見つからないようです。

アイテムの SOLR インデックスがあり、それらはすべて同じフィールドを持ち、フィールドの 1 つは「タイプ」(そしてもちろん、「タイトル」、「テキスト」など) です。

必要なのは、Item Type と Query String を取得し、検索候補のリストを返す必要があります。それぞれに、その候補文字列が返される正しいタイプのアイテムの数も示されています。

元の文字列が「goo」の場合、次のようになります

グー 10 グーグル 52 グーラグ 2

等々。

さて、どうしよう。さまざまな提案ごとにSOLRを再クエリしたくありませんが、他に方法がない場合は、可能です。

前もって感謝します

4

4 に答える 4

2

エッジ n-gram トークン化を試すことができます http://search.lucidimagination.com/search/document/CDRG_ch05_5.5.6

于 2011-02-07T02:33:45.363 に答える
1

ファセットを試すことができます。私のより詳細な説明(「オートコンプリート」)を見てください。

これはhttp://jetwick.comでSolrを使用して実装されました...現在ElasticSearchを使用していますが、Solrソースは引き続き利用可能であり、アイデアも同じhttps://github.com/karussell/Jetwickです。

于 2011-02-07T11:40:32.167 に答える
0

Solr の SpellCheckComponent (提案を提供する) には、インデックス内のすべての提案の頻度を提供できる拡張結果があります - http://wiki.apache.org/solr/SpellCheckComponent#Extended_Results

ただし、.Net コンポーネント SolrNet は現在、extendedResults オプションをサポートしていないようです: 「extendedResults オプションを除くすべての SpellCheckComponent パラメータがサポートされています」 - http://code.google.com/p/solrnet/wiki/スペルチェック

于 2011-02-06T09:04:54.733 に答える
0

これは、プレフィックスが設定されたファセット フィールド クエリを使用して実装されます。これは、次のように xml ハンドラーを使用してテストできます。

http://localhost:8983/solr/select/?rows=0&facet=true&facet.field=type&f.type.prefix=goo
于 2011-02-28T09:37:59.863 に答える