4.2.5 score

<この項の構成>
(1) 機能
(2) 書式
(3) 入力
(4) 戻り値
(5) 詳細
(6) スコア値

(1) 機能

スコア値(contains_with_score関数の結果として得られるスコア値)を返却します。

(2) 書式

score(列指定)

(3) 入力

列指定

(4) 戻り値

スコア値(INTEGER)

(5) 詳細

(6) スコア値

1文書のスコア値は,「検索タームの文書内での出現数 × 検索タームの重み × 構造の重み」で算出されます。ただし,検索条件式に論理検索や近傍検索を使用している場合は,次のようになります。

論理検索の場合
  • 論理積(AND)のときは,各スコアの最小値を取ります。
  • 論理和(OR)のときは,各スコアの最大値を取ります。
  • 論理否定(NOT)のときは,各スコア値はナル値となります。
近傍検索の場合
  • 近傍検索のスコアは,ヒットした検索ターム間の距離で算出します。
  • 検索ターム間の距離が近いほどスコアが高くなります。

    表4-3 スコアの算出方法

    検索条件スコアの算出方法算出例
    論理積
    (AND条件)1
    論理演算の対象を比較して,値の少ない方をスコアとする「AおよびBが含まれる文書」を検索した結果,文書内での出現数がA>Bだった場合,Bの出現数を基にスコアが付けられる2
    論理和
    (OR条件)1
    論理演算の対象を比較して,値の多い方をスコアとする「AまたはBが含まれる文書」を検索した結果,文書内での出現数がA>Bだった場合,Aの出現数を基にスコアが付けられる2
    近傍条件=指定した距離とヒットした距離が等しい場合は100が与えられる「AB間の距離が10文字ちょうどの文書」を検索した結果,文書内でのAとBの距離が10であれば100が与えられる
    <=ヒットした距離が0に近いほど100に近づく。指定した距離と同じ場合は1が与えられる「AB間の距離が10文字以下の文書」を検索した結果,文書内でのAとBの距離が0ならば100が与えられる。10以下の値は,10に近いほど低い値が与えられる
    >=指定した距離とヒットした距離が等しい場合は100が与えられる。遠ざかるほど低くなる「AB間の距離が10文字以上の文書」を検索した結果,文書内でのAとBの距離が10ならば100が与えられる。10を超える値は,10から遠くなるほど低いスコアが与えられる
    注※1
    検索ターム同士および検索条件式同士の論理演算が含まれます。
    注※2
    ここでの算出方法は,検索条件式の構造に重みが付けられていないことが前提です。構造に重みが付けられている場合は,「距離から算出したスコア × 構造の重み」で算出されます。なお,近傍検索では検索タームに付けられた重みは無視されます。