4.4.6 近傍条件指定
近傍条件指定では,二つの検索ターム(語句リスト)とそれらの距離条件,出現順序関係を指定します。それぞれの語句リスト中の検索タームのどれかがヒットした位置で,距離条件に当てはまるように近接している語句リストがヒットする文書を検索します。
距離条件として,距離には演算子と数値,距離単位には文字を表す'CHARACTERS'を使用します。これによって,二つの検索ターム間の文字数(距離)を検索条件にできます。
-
和文検索用インデクスの場合
演算子は,指定距離に等しい,以上,および以下の3種類があり,等しい場合は =を,以上の場合は >=を,以下の場合は <=を指定します。
順序指定は,第一の語句リストと第二の語句リストのどちらが先に出現してもよいとする'ANY_ORDER'と,第一の語句リストの次に第二の語句リストが出現する順序を指定する'IN_ORDER'を選択できます。
近傍条件指定の形式を次の図に示します。
図4‒23 近傍条件指定の形式 - 指定例
-
文字列「COMPUTER」の同義語,アルファベット大小文字および全角半角文字展開と,文字列「ネットワーク」の同義語,アルファベット大小文字,カタカナ異表記,全角半角文字展開が20文字以下に近接して出現する(同義語辞書はUSR01)。
PROXIMITY(SYNONYM( USR01, "COMPUTER", "AE"), <=20,
CHARACTERS,ANY_ORDER,SYNONYM( USR01, "ネットワーク", "AKE"))
-
英文検索用インデクスの場合
英文検索用インデクスは距離条件として,距離には演算子と数値,距離単位には単語を表す'WORDS'を使用します。
英文検索用インデクスに対して距離単位に'CHARACTERS'を指定した場合はエラーとなります。
近傍演算の距離は0〜2,147,483,646の範囲で指定します。距離の単位は単語です。インデクスデリミタで区切られた単語を1単語とみなします。例えば,英文書に "I have a pen." とある場合,インデクスデリミタが半角スペースのため,'I'と'pen'の距離は2となります。また,不要語が含まれる場合,不要語も1単語として近傍演算の距離に数えます。
演算子は,指定距離に等しい,以上,および以下の3種類があり,等しい場合は =を,以上の場合は >=を,以下の場合は <=を指定します。
順序指定は,第一の語句リストと第二の語句リストのどちらが先に出現してもよいとする'ANY_ORDER'と,第一の語句リストの次に第二の語句リストが出現する順序を指定する'IN_ORDER'を選択できます。
近傍条件指定の形式を次の図に示します。
図4‒24 英文インデクスの近傍条件指定の形式
- 指定例
-
文字列「COMPUTER」と「SYSTEM」が10単語以下に近接して出現する。
PROXIMITY("COMPUTER", <= 10, WORDS, ANY_ORDER, "SYSTEM")
- 注意事項
-
-
近傍検索指定では,検索条件によりシステムに負荷を与えるおそれがあります。環境定義ファイルに1文字近傍検索実行可否指定(phx_1gram_proximity_search)をすることにより,負荷を与えるおそれのある条件での検索を制限(エラーリターン)できます。
-