1

私はsolr構成のものを掘り下げて、オートコンプリート機能を実装する方法を理解しようとしています。

ここに記載されている詳細の一部http://wiki.apache.org/solr/Suggester/

しかし、すべてのサイトで同じ辞書を使用したくありません。個人的なデータがある場合は役に立ちません。複数の会社が検索を使用していて、会社のデータのみに基づいてオートコンプリートしたいということです。オートコンプリートの結果の範囲をいくつかの構文で制限することは可能ですか?

私はRails 3sunspot gemsolr 3.6で作業しています

アップデート:

Rails 3用に更新されたgemが見つかりました。ここに文書化された必要な構成はhttps://github.com/xponrails/sunspot_autocompleteです

どちらの答えも私がそれをするのに役立ちます

4

2 に答える 2

1

残念ながら、を介して行われた自動提案をフィルタリングすることはできませんSuggester。あなたは私があなたが持っている他のオプションのために書いたこのブログを見てみたいと思うかもしれません。記事で説明されているファセットプレフィックスまたはNGramsソリューションの使用を検討する必要があります。Ngramsソリューションは、より柔軟性があり、パフォーマンスが少し向上すると思いますが、ファセットプレフィックス方式を使用する準備はできていますが、おそらく低速であるため、インデックスサイズが大きくなります。どちらを好むか試してみてください。

于 2012-07-20T10:23:16.480 に答える
1

私は EdgeNgram フィールドを使用しており、それに対してオートコンプリート クエリを作成しています。

schema.xml に次のようなものがあります。

<field name="title_auto" type="edge_ngram" indexed="true" stored="true" multiValued="false" />

「テスト」のクエリは次のようになります

Jul 20, 2012 12:28:58 PM org.apache.solr.core.SolrCore execute
INFO: [collection1] webapp=/solr path=/select/ params={spellcheck=true&sort=date+desc fl=*+score&start=0&q=title_auto:(test)&spellcheck.count=1&spellcheck.collate=true&wt=json hits=0 status=0 QTime=2

サードパーティのアプリを使用してクエリを Solr (Django-Haystack) に送信していますが、上記のクエリは探しているものと似ているはずです。

于 2012-07-20T10:35:32.957 に答える