2012-04-08 16 views
0

私はOpenSearchServer v1.2.4を使用しています。 「オートコンプリート」やスペルチェックなどのOpenSearchServerデータベースフィールドにアクセスしたいのですがどうすればいいですか? OpenSearchServerのAPIは、タイトル、メタ、URLフィールド、およびその他のものをXMLで提供します。オートコンプリートフィールドを取得するには、クエリ/検索パターンを提案してください。OpenSearchServerのデータベースフィールドにアクセスするにはどうすればよいですか?

答えて

1

返されたフィールドを簡単に制御するには、クエリを編集します。これを行うには、クエリタブパネルに行きます。

スペルチェックは、スペルチェックをアクティブに「検索」クエリを編集し、スペルチェック]タブパネルに移動します。 Webテンプレートを使用している場合は、「contentExact」または「titleExact」フィールドを使用します。スペルチェックモジュールは、このフィールドにある単語を抽出して辞書を構築します。利用可能なアルゴリズムは、Levensthein、Jaro-Winkler、NGramDistanceです。

スペルチェック設定を設定してクエリを保存すると、XML over HTTP APIを使用してクエリを使用できるようになります。ほとんどの場合、XMLにスペルチェックの提案が含まれます。ユーザーに提案をいつ表示するか決めなければなりません。検索でドキュメントが返されない場合は、候補を表示することができます。

自動補完

「オートコンプリート」フィールドの役割は、索引付けされたドキュメント(Webページ)で利用可能なすべての式を収集することです。ここで

は自動補完機能を構築するための一般的な方法です:

  • 式:インデックス付け、保存され、次のポイントでの解析表現部

    • 以下のフィールドを持つ、新しい空のインデックスを作成します。
    • freq:索引付きで、格納されていません。
  • 次のパラメータを使用して、式フィールドのテキストアナラ​​イザーを作成します。
    • トークナイザ:フィルタリストでStandardTokenizer
    • 、追加:
      • LowerCaseFilter
      • EgdeNGramFilter(最小グラムサイズ:1 - 最大グラムサイズ:50 - エッジ側:フロント)
  • スケジューラジョブを作成します。収集された式を定期的に新しい索引に挿入します(例:1日1回)。一般的なタスクとパラメータは以下のとおりです。クエリ::
    • ソースフィールド名:オートコンプリート
    • インデックスソース
    • は「用語プル」タスクを追加
      • は、「クエリの削除」タスクを追加します。ウェブインデックスの名前
      • 用語フィールド名:表現
      • 周波数フィールド名:FREQ
      • 最低周波数:1
      • 周波数パッド:9
    • 「インデックス最適化」タスクを追加します。
  • 次のパラメータを使用して新しい要求を作成します。
    • 柄クエリ:式:($$)
    • 返されるフィールド:式
    • ソートフィールド:FREQの下降は、
  • 降順スコア
  • 新しいクエリを使用してオートコンプリートユーザーインターフェイスを統合します。
+0

スペルチェックのサンプルクエリを教えてください。オートコンプリートのための新しいクローラを開始する必要がありますか?既に索引付けされたオートコンプリート・ワードはどうでしょうか? –

+0

私は空のインデックスを作成する必要がありますか?それは? –

+1

詳細を追加しました。あなたは、OpenSearchServerの無料トライアルサポートを見ているかもしれません。あなたは成功するのに30日もかからないと思うよ! –

関連する問題