OpenSearchServerv1.2.4を使用しています。「オートコンプリート」やスペルチェックなどのOpenSearchServerデータベースフィールドにアクセスしたいのですが、どうすればよいですか?OpenSearchServer APIは、タイトル、メタ、URLフィールド、およびその他のいくつかのフィールドのみをXML経由で提供します。オートコンプリートフィールドを取得するためのクエリ/検索パターンを提案してください。
質問する
559 次
1 に答える
1
クエリを編集することで、返されるフィールドを簡単に制御できます。これを行うには、クエリタブパネルに移動します。
スペルチェック
スペルチェックをアクティブにするには、「検索」クエリを編集して、スペルチェックタブパネルに移動します。Webテンプレートを使用している場合は、「contentExact」または「titleExact」フィールドを使用します。スペルチェックモジュールは、このフィールドに存在する単語を抽出することによって辞書を構築します。利用可能なアルゴリズムは、Levensthein、Jaro-Winkler、NGramDistanceの3つです。
スペルチェック設定をセットアップしてクエリを保存するとすぐに、XML overHTTPAPIを使用してそれを使用できるようになります。ほとんどの場合、XMLにはスペルチェックの提案が含まれます。ユーザーに提案を表示するタイミングを決定する必要があります。検索でドキュメントが返されない場合は、候補を表示できます。
オートコンプリート
「オートコンプリート」フィールドの役割は、インデックス付きドキュメント(Webページ)で使用可能なすべての式を収集することです。
オートコンプリート機能を構築する一般的な方法は次のとおりです。
- 次のフィールドを使用して、新しい空のインデックスを作成します。
- 式:インデックスが付けられ、保存され、次のポイントのアナライザー記述子。
- freq:インデックスが付けられ、保存されません。
- 次のパラメータを使用して、式フィールドのテキストアナライザを作成します。
- トークナイザー:StandardTokenizer
- フィルタリストに、次を追加します。
- LowerCaseFilter
- EgdeNGramFilter(最小グラムサイズ:1-最大グラムサイズ:50-エッジ側:前面)
- シェデュラージョブを作成します。収集された式が定期的に新しいインデックスに入力されます(例:1日1回)。一般的なタスクとパラメーターは次のとおりです。
- 「クエリの削除」タスクを追加します。クエリ::
- 「用語のプル」タスクを追加します。
- ソースフィールド名:オートコンプリート
- インデックスソース:Webインデックスの名前
- 用語フィールド名:式
- 頻度フィールド名:freq
- 最小頻度:1
- 周波数パッド:9
- 「インデックス-最適化」タスクを追加します。
- 次のパラメータを使用して新しいリクエストを作成します。
- パターンクエリ:式:($$)
- 返されたフィールド:式
- ソートされたフィールド:頻度の降順、スコアの降順
- 新しいクエリを使用して、オートコンプリートのユーザーインターフェイスを統合します。
于 2012-04-08T10:21:49.317 に答える