フィールドの相対的な重みの設定

  • リリースバージョン: Xanadu
  • 更新日 2024年08月01日
  • 所要時間:2分
  • 検索結果を改善するために、Zing 検索エンジンは、一致する可能性のある各項目に、クエリとの関連性を表す数値スコアを割り当てます。

    始める前に

    相対的な重みを変更するフィールドを含むテーブルに対して、テキストのインデックス作成を有効にする必要があります。テーブルのテキストインデックス作成の有効化については、「インデックス作成と検索のためのテーブルの構成」を参照してください。

    必要なロール:admin

    このタスクについて

    アドミニストレーターは、ts_weight 属性を使用して、テーブル内の各フィールドの一致の相対的な重要度を制御できます。大半のフィールドには ts_weight 属性がありません。Zing では、検索一致のスコアリング時に、これらのフィールドは 1 の重みを持つものとして扱われます。

    次のフィールドは、デフォルトで ts_weight 属性値を持っています。
    • kb_knowledge.number = 50
    • kb_knowledge.short_description = 10
    • kb_knowledge.meta = 10
    • task.number = 50
    • task.short_description = 10
    レコードのスコアリング時に、Zing は検索用語の一致を生成したフィールドの相対的な重みを比較します。たとえば、[タイトル] フィールドに ts_weight=50 があり、[説明] フィールドに ts_weight=10 がある場合、[タイトル] での一致は [説明] での一致よりも関連性が 5 倍高くなり、ts_weight 属性がないフィールドよりも関連性が 50 倍高くなります。
    注:
    詳細なスコアリングシステムを表示するには、「 ドキュメントのスコアリング」を参照してください。

    手順

    1. 移動先 すべて > システム定義 > ディクショナリ.
    2. フィールドのテーブルと列のシステム辞書レコードを開きます。
      たとえば、[kb_knowledge.number] フィールドの ts_weight を変更するには、[テーブル] が「kb_knowledge」で [列名] が「number」の辞書レコードを開きます。
    3. [辞書エントリ] フォームの [属性] フィールドで、次のいずれかの手順を実行します。
      • ts_weight 属性が属性のリストに表示されている場合は、その属性の整数値を、フィールドに設定する相対な重みに変更します。
      • リストに ts_weight 属性が表示されない場合は、新しい ts_weight=<value> カンマ区切りリストのエントリを追加します。ここで、<value> はフィールドに設定する相対的な重みです。
    4. [更新] を選択します。
    5. 次の手順を実行して、テーブルのテキストインデックスを更新します。
      1. フィールドのテーブルのシステム辞書レコードを開きます。
        テーブルのシステム辞書レコードは、[テーブル] の値がテーブル名で、[列名] フィールドが空で、[タイプ] の値が「コレクション」になっているものです。
      2. [辞書エントリー] フォームで、[関連リンク] セクションの [ テキストインデックスの生成] リンクを選択します。

    タスクの結果

    Zing がテーブルのテキストインデックスの再生成を終了すると、フィールドの新しい相対的な重みが検索結果のスコアリングに使用されます。