IBM Books
(C) IBM Corp. 2000

Net Search Extender 管理およびユーザーズ・ガイド

検索引き数

検索引き数の構文

>>-+----------------------+--+-------------------------+-------->
   '-RESULT LIMIT--number-'  '-EXPANSION LIMIT--number-'
 
>--+------------------------------------------+----------------->
   '-STOP SEARCH AFTER--number--+-DOCUMENT--+-'
                                '-DOCUMENTS-'
 
>--+-| boolean-search-expression |-+---------------------------><
   '-| freetext-argument |---------'
 
Boolean-search-expression:
 
|--+-| search-term |-------------------------------------------------+--|
   '-| boolean-search-expression |--| operator-or |--| search-term |-'
 
search-term:
 
|--+-| search-factor |-----------------------------------------------+--|
   +-| search-term |--| operator-and |--| search-factor |------------+
   +-| search-term |--| operator-accum |--| search-factor |----------+
   '-| search-term |--| operator-minus |--| positive-search-factor |-'
 
Search-factor:
 
|--+-----+--| positive-search-factor |--------------------------|
   '-NOT-'
 
Positive-search-factor:
 
|--+-+------------------------------------------------------------+--| search-primary |-+--|
   | |                  .-,----------------------------------.    |                     |
   | |                  V                                    |    |                     |
   | '-+-SECTION--+--(----"section-name"--+----------------+-+--)-'                     |
   |   '-SECTIONS-'                       '-WEIGHT--number-'                            |
   '-attribute-factor-------------------------------------------------------------------'
 
Search-primary:
 
|--+-| text-literal |-------------------+-----------------------|
   +-| context-condition |--------------+
   +-| thesaurus-invocation |-----------+
   +-(--| boolean-seach-expression |--)-+
   '-(--| text-literal-list |--)--------'
 
Operator-and:
 
|--&------------------------------------------------------------|
 
Operator-or:
 
|--|------------------------------------------------------------|
 
Operator-accum:
 
|--ACCUM--------------------------------------------------------|
 
Operator-minus:
 
|--MINUS--------------------------------------------------------|
 
Context-condition:
 
|----| context-argument |--| IN-SAME |--| context-unit |--| AS |--| context-argument |---->
 
>--+-------------------------------+----------------------------|
   | .---------------------------. |
   | V                           | |
   '---AND--| Context-argument |-+-'
 
Context-argument:
 
|--+-| text-literal |------------+------------------------------|
   +-(--| text-literal-list |--)-+
   '-| thesaurus-invocation |----'
 
Text-literal-list:
 
   .-,------------.
   V              |
|----text-literal-+---------------------------------------------|
 
Context-unit:
 
|--+-PARAGRAPH-+------------------------------------------------|
   '-SENTENCE--'
 
Text-literal:
 
|--+--------------------------------+--+----------------+------->
   +-PRECISE-FORM-OF----------------+  '-WEIGHT--number-'
   +-STEMMED-FORM-OF----------------+
   '-FUZZY-FORM-OF--+-------------+-'
                    '-match-level-'
 
>--"word-or-phrase"--+----------------------------+-------------|
                     '-ESCAPE--"escape-character"-'
 
thesaurus-invocation:
 
|--THESAURUS--"thesaurus-name"--EXPAND-------------------------->
 
>--+-+-SYNONYM------------+--TERM OF--| text-literal |-------------------+--|
   | +-RELATED------------+                                              |
   | '-RELATION--(number)-'                                              |
   '-+-BROADER--+--TERM OF--| text-literal |--+------------------------+-'
     '-NARROWER-'                             '-FOR--count--+-LEVEL--+-'
                                                            '-LEVELS-'
 
Attribute-factor:
 
|--ATTRIBUTE--"attribute-name"---------------------------------->
 
>--+-BETWEEN--valueFrom AND valueTo-+---------------------------|
   +->--valueFROM-------------------+
   '-<--valueTO---------------------'
 
freetext-argument:
 
|--IS-ABOUT--+----------+--"word-or-phrase"--------------------->
             '-language-'
 
>--+----------------------------+-------------------------------|
   '-ESCAPE--"escape-character"-'
 
 

例は、SQL 検索引き数の指定 に記載されています。

検索パラメーター

RESULT LIMIT number
フル・テキスト検索によって戻される結果の最大数を指定するキーワード。

RESULT LIMIT は SCORE 関数とともに使用して、戻される結果にスコアが付けられ、 最もよい結果だけが処理されるようにします。

EXPANSION LIMIT number
検索のために語を拡張する回数の最大数を指定するキーワード。 たとえば、検索語 'a*' を何回拡張するかを決める場合に使用します。

STOP SEARCH AFTER number DOCUMENTS(S)
検索しきい値を指定するキーワード。検索中に文書の出現数がこの値に達すると、検索は停止し、中間結果が戻されます。値が低い場合は、検索のパフォーマンスが上がるものの、結果が少なくなり、潜在的にランクの高い文書が省略される可能性があります。

デフォルト値はなく、 number 値は、正の整数でなければなりません。

boolean-search-expression
検索用語および検索要因は、構文図に従って、ブール演算子 NOT、AND、 OR、ACCUM および MINUS を使用して、結合することができます。演算子には、次の優先順位があります (優先順位の高い順に): NOT> MINUS = ACCUM = AND > OR。これについて次の例を参照してください。
"Pilot" MINUS "passenger" & "vehicle" | "transport" & "public"

は、以下のように評価されます。

(("Pilot" MINUS "passenger") & ("vehicle")) | ("transport" & "public")

ブール引き数の 1 つが真であると評価した場合、演算子 ACCUM は真であると評価します (これは、OR 演算子に類似しています)。 ランク値は、両方のオペランドからランク値を累算して計算されます。 ACCUM 演算子は、AND と同じバインディング (優先順位) を持っています。 演算子 MINUS は、左のオペランドが真であると評価されると、真であると評価されます。 ランク値は、右のオペランドが真であると評価されると、左のオペランドのランク値を取り、ペナルティーを減算することによって計算されます。

search-primary
thesaurus-invocation からなる search-primary は、(文書の指定されたセクションに) 拡張された text-literal が検出された場合に真と評価されます。 text-literal-list からなる search-primary は、(文書の指定されたセクションに) text-literals が検出された場合に真と評価されます。

SECTION(S) section-name

検索がその内部に制限される構造化文書で、1 つまたは複数のセクションを指定するキーワード。セクション名は、索引作成時に指定されたモデル・ファイルに指定する必要があります。CREATE INDEXを参照してください。

セクション名には、大文字小文字の区別があります。モデル・ファイル と照会でのセクション名が同じになるようにしてください。

このモデルは、識別可能なセクションを含む文書の構造を記述しているので、これらのセクションの内容を個別に検索することができます。セクション名は、マスク文字を使用してマスクすることはできません。セクションの 1 つで search-primary が検出された場合、SECTION 文節を使用する positive-search-factor は真であると評価されます。

context-argument IN SAME context-unit AS context-argument AND context-argument ...
この条件を使用すれば、text-literal の組み合わせが同じ段落または文に出現する箇所を検索できます。コンテキスト引き数は、つねに text-literal-list に同等であり、シソーラス拡張を使用して text-literal をそのようなリストに拡張することができます。

それぞれの拡張された context-argument の少なくとも 1 つの text-literal を含む context-unit (段落、次いで、文) が文書にある場合、条件は真であると評価されます。これについて次の例を参照してください。

("a","b") IN SAME PARAGRAPH AS ("c","d")
          AND THESAURUS "t1" EXPAND SYNONYM TERM OF "e".

e1、e2 が e の同義語であると想定すると、次の段落が一致します。

".. a c e .." ,  ".. a c e1..",  "a c e2..",
".. a d e .." ,  ".. a d e1..",  "a d e2..",
".. b c e .." ,  ".. b c e1..",  "b c e2..",
".. b d e .." ,  ".. b d e1..",  "b d e2..".

PRECISE FORM OF
この PRECISE FORM OF の後に指定する語 (または熟語中のそれぞれの語) を、入力したとおりの形で検索するよう指定するキーワード。この形式の検索は、大文字小文字を区別します。つまり、大文字および小文字の使用が有効です。たとえば、mouse を検索する場合、"Mouse" は検出されません。

STEMMED FORM OF
この STEMMED FORM OF の後に指定する語 (または熟語中のそれぞれの語) を、まずその語幹に縮めてから検索を実行するよう指定するキーワード。この検索形式では大文字小文字が区別されません。たとえば、mouse を検索する場合、"Mouse" も検出されます。

語が語幹形式に縮められる方法は、言語によって異なります。 現在、英語のみがサポートされており、語は、規則的な語尾変化に従う必要があります。

FUZZY FORM OF
「ファジー」検索のためのキーワードです。検索項目とつづりの類似した語を検索します。これは、光学式文字認識 (OCR) プログラムで作成した文書を検索する場合に特に役に立ちます。そのような文書には、つづりの誤った語が含まれていることがあります。たとえば、OCR プログラムは、economy という用語を econony と認識することがあるかもしれません。 最初の 3 文字が一致する必要があること、 および検索要素内の語にマスク文字が含まれている場合、 ファジー検索は使用できないことに注意してください。

match level
類似性の度合いを指定する 1 〜 100 の整数。100 の方が 1 よりも類似性が高いことを 表します。100 は「完全一致」を指定し、60 は、非常に「ファジーな値」と見なされます。 突き合わせレベル (match level) がファジーなほど、 より多くの文書が検索に対して適合するので、検索に要する時間が長くなります。 デフォルトの match level は 70 です。

WEIGHT number
text-literal を重み値に関連付けてデフォルトのスコアを変更します。許可された重み値は、 0 (最小スコア重み) 〜 1000 (最大スコア重み) の整数です。デフォルト値は 100 です。

word-or-phrase
検索する語または句。語の中で使用できる文字は、言語によって違います。語と語の間を区切り文字で区切る必要があるかどうかも言語によって違います。英語およびその他の大部分の言語の場合、句の中の語と語の間はブランク文字で区切る必要があります。

二重引用符を含む文字ストリングを検索するには、二重引用符を二度入力します。たとえば、テキスト "wildcard" 文字を検索するには、次のようにします。

"""wildcard"" character"

この例では、1 組の引用符しか検索できないことに注意してください。 1 つの文から 2 組の引用符は検索できません。 また、各語または句の最大長は 128 バイトです。

Masking characters
語に次のマスク文字を含めることができます。

_ (下線)
任意の 1 文字を表します。

% (パーセント)
数が不定の任意の文字を表します。 単一の % からなる語を指定した場合は、任意の長さのオプションの語を表します。 1 つの単語をマスク文字だけにすることはできません。ただし、例外として単一の % でオプションの語を表すことは可能です。 マスク文字を使用する場合は、THESAURUS を使用できません。マスク文字は、英数字以外の文字の後に続けることはできません。

ESCAPE escape-character
次の文字を検索対象の文字として識別し、マスク文字として使用される文字としては識別しない文字。たとえば、エスケープ文字が $ であれば、$%、$_、および $$ は、それぞれ %、_、および $ を意味します。% および _ 文字の前に $ がない場合は、マスク文字を表します。

検索時には、1 バイト文字の使用のみ許可されています。 2 バイト文字の使用は許可されていません。

THESAURUS thesaurus-name
text-literal の拡張に使用されるシソーラスの名前を指定するために使用されるキーワード。シソーラス名は、シソーラス・コンパイラーを使用してコンパイルされた シソーラスのファイル名 (拡張子なし) です。<os-dependent>/sqllib/db2ext/thes に配置されている必要があります。あるいは、パスをファイル名の前に指定することもできます。

EXPAND relation
どの関係がシソーラスを使用して text-literal の拡張に使用されるかを指定します。シソーラスには、DB2EXTTH コマンドで記述された事前定義の関係があります。これらは、次のキーワードを使用して参照されます。

ユーザー定義の関係の場合、DB2TEXTTH での関係定義に対応する RELATION(number) を使用します。

TERM OF text-literal

シソーラスから他の検索項目が追加される text-literal。

count LEVELS

指定された関係の検索項目を拡張するために使用される、シソーラスでの項目のレベルの数 (深さ) を指定するために使用するキーワード。このキーワードを指定しない場合は、カウント 1 が想定されます。深さの値は、正の整数でなければなりません。

ATTRIBUTE Attribute-name
指定された条件に一致する属性を持つ文書を検索します。attribute-name は、CREATE INDEX コマンドでの属性表現の名前、または文書モデル・ファイルの属性定義を指します。

属性係数は、ダブルのタイプの属性にのみ許可されます。値の精度は 15 桁が保証されています。16 文字以上の数は丸められます。マスク文字の使用は、attribute-name、valueFrom および valueTo では許可されません。詳細については、次の説明を参照してください。

BETWEEN valueFrom AND valueTo
属性の値が valueFrom より大きく (等しくない)、valueTo より小さい (等しくない) 場合に、BETWEEN 属性係数は真であると評価されます。

>valueFrom
属性の値が valueFrom より大きい (等しくない) 場合に、">" 属性係数は 真であると評価されます。

<valueTo
属性の値が valueTo より小さい (等しくない) 場合に、"<" 属性係数は 真であると評価されます。

CREATE INDEX コマンドの属性名を引用符を付けて指定するか モデル・ファイルで定義すると、指定した属性名は正確に一致しなければなりません。 これに対し CREATE INDEX コマンドで引用符を指定しない場合、属性名は英大文字でなければなりません。

IS ABOUT language word-or-phrase
フリー・テキスト検索引き数を指定できるようにするオプション。 異なる種類のスコア・アルゴリズムが使用され、文書内での用語の位置がチェックされます。 word-or-phrase で使用される用語がより近くに集まっているほど、それらの用語はより多くその文書に含まれていると判断され、より高いスコア値が戻されます。

language に許可される値は、付録 E, サポートされている言語に記載されており、 それはタイ語にのみ関係する情報です。 指定されない場合は、デフォルトとして en_US が使用されます。language は、word-or-phrase のトークン化のためだけに使用されます。

IS ABOUT が有効なのは、スコア値が要求されており、 検索結果がスコア値の順に配列される場合だけであることに注意してください。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]