Hitachi

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 10


4.2.5 score

〈この項の構成〉

(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

    ここでの算出方法は,検索条件式の構造に重みが付けられていないことが前提です。構造に重みが付けられている場合は,「距離から算出したスコア × 構造の重み」で算出されます。なお,近傍検索では検索タームに付けられた重みは無視されます。