複数のテーブルを検索するためのテキストインデックスグループの構成
テーブルを V4 インデックス作成形式に更新し、テキストインデックスグループに含めると、複数のテーブルにわたる検索が容易になります。
始める前に
必要なロール:ts_admin または admin
このタスクについて
テキストインデックスグループを使用すると、複数のテーブルにインデックスを付けて検索できます。
複数のテーブル間で検索を実行するには、まずテーブルを正規化して、関連性スコアがすべてのテーブルで同じ意味を持つようにする必要があります。V4 インデックス作成はその正規化を提供します。Zing は、Okapi BM25 ランキング機能を使用して、検索結果の関連性スコアを計算します。
V4 テーブルのインデックス作成形式は、ナレッジベース記事などのドキュメント用に最適化されています。フィールドの重みなどのインデックス作成属性の値を変更するときに、この形式を使用するテーブルのインデックスを再作成する必要はありません。単一のテーブルで BM25 ランキング機能を使用する場合は、V4 形式に変換できます。
複数のテーブルを検索できるようにするには、次のようにします。
- V4 インデックス形式をまだ使用していない場合は、使用することを選択したすべてのテーブルを構成します。注:新しいインスタンスでは、カタログアイテム [sc_cat_item]、ナレッジ [kb_knowledge]、ソーシャル Q&A 質問 [kb_social_qa_question]、およびユーザー [sys_user] テーブルは、V4 インデックス形式を使用します。インスタンスを以前のリリースからアップグレードすると、これらのテーブルのインデックス作成形式は以前のリリースと同じになります。
- テーブルをテキストインデックスグループに追加して、インデックスを作成し、一緒に検索できるようにします。注:タスク [task] テーブルまたはそれを拡張するテーブルをテキストインデックスグループに追加することはできません。
手順
次のタスク
123TEXTINDEXGROUP321 予約名 で GlideRecord.addQuery(name, value) または GlideRecord.addEncodedQuery(name, value) メソッドを使用して、文字列の一致についてテキストインデックスグループ内のテーブルをクエリすることができます。テキストインデックスグループに文字列一致をクエリする方法の詳細については、「スクリプトでのテーブルのクエリ」を参照してください。