クエリー言語

論理演算子と近接演算子
ワイルドカード
フリーテキスト クエリー
ベクトル空間クエリー
プロパティ値クエリー
クエリーの例
プロパティ名一覧


Web サイト上では、クエリー フォームに単語や句を入力してクエリー実行ボタン (サンプル クエリー フォームの [クエリーの実行] ボタンなど) をクリックするだけで、それらの単語や句を検索できます。検索を実行すると、検索した単語や句がテキストの中に含まれているファイルのリストが生成されます。

クエリーを利用する際の規則を次に示します。

  • 連続する複数の単語は句として扱われます。句は文書内で同じ語順で出現しなければ検索されません。

  • クエリーでは大文字小文字が区別されません。したがって、大文字小文字のどちらでも入力できます。

  • 検索では、例外リストに列挙されている単語を除くすべての単語を検索できます。例外リストには、たとえば英語の場合 aanandas、などの一般的な単語が列挙されていますが、これらは検索時には無視されます。

  • 例外リスト内の単語は、句クエリーおよび近接クエリーではプレースホルダとして扱われます。たとえば、"Word for Windows" を検索した場合、for はノイズ ワードであり例外リストに列挙されているため、"Word for Windows" と "Word and Windows" が検索されます。

  • ピリオド (.)、コロン (:)、セミコロン (;)、カンマ (,) などの句読点文字は検索時には無視されます。

  • クエリーで特殊な意味を持つ &、|、^、#、@、$、(、) などの文字を検索するには、それらを引用符 (") で囲みます。

  • 引用符を含む単語や句を検索するには、検索語句全体を引用符で囲み、その中で引用符で囲まれている部分をさらに引用符で囲みます。たとえば、World-Wide Web or "Web" を検索するには、"World-Wide Web or ""Web""" と指定します。

  • 論理演算子 (ANDORNOT) や近接演算子 (NEAR) を使うと、さらに詳細な検索情報を指定できます。

  • ワイルドカード文字 (*) は、任意のプリフィックスを持つ単語にマッチします。たとえば、クエリー esc* は "ESC" や "escape" などの単語にマッチします。

  • 任意のクエリー構文でフリーテキスト クエリーを指定できます。

  • ベクトル空間クエリーを指定できます。

  • Activex(TM) (OLE) およびファイル属性のプロパティ値クエリーを実行できます。


ページの先頭論理演算子と近接演算子

論理演算子や近接演算子を使うと、より正確な検索ができるクエリーを作成できます。

検索条件 検索結果
同じページ内に両方の語句がある access and basic
-または-
access & basic
"access" と "basic" の両方の単語のあるページ
ページ内にどちらかの語句がある cgi or isapi
-または-
cgi | isapi
"cgi" または "isapi" のどちらかの単語のあるページ
1 番目の語句だけがあり 2 番目の語句がない access and not basic
-または-
access & ! basic
単語 "access" だけがあり単語 "basic" のないページ
プロパティ値にマッチしないページ not @size = 100
-または-
! @size = 100
サイズが 100 バイトでないページ
同じページ内に両方の語句があり、互いに近接している excel near project
-または-
excel ~ project
単語 "excel" と単語 "project" があり、互いに近接しているページ

検索時のヒントを次に示します。

  • クエリーの中でかっこを使い、式をネストすることができます。かっこ内の式はクエリーのほかの部分よりも先に評価されます。

  • クエリー内で論理演算子や NEAR 演算子などのキーワードを無視するように指定するには、引用符 (") を使います。たとえば、"Abbott and Costello" と指定すると、この句は論理式ではなくなり、and を含む句そのもののあるページにマッチします。単語 and は演算子であるだけでなく、英語におけるノイズ ワードにもなっています。

    注意   NEAR 演算子は、単語および句に対してのみ使用できます。

  • NEAR 演算子は、検索する 2 つの単語が同じページ内にある場合にマッチするという点では AND 演算子に似ていますが、NEAR によって割り当てられるランクが単語の近接度によって変化するという点が AND と異なります。つまり、検索された 2 つの単語の位置が近くにあるページのランクは、より離れているページのランクと同じかまたは上になります。検索された 2 つの単語が 50 ワードよりも離れている場合は、近くにあるとはみなされず、そのページにはランク 0 が割り当てられます。

  • コンテンツ クエリーでは、NOT 演算子は AND 演算子の後にだけ、直前のコンテンツ制限にマッチするページを除外するためだけに使うことができます。プロパティ値クエリーでは、NOT 演算子は AND 演算子の位置に関係なくどこでも使うことができます。

  • AND 演算子は OR 演算子よりも高い優先順位を持っています。たとえば、次の例で最初の 3 つのクエリーは同じものですが、4 つ目のクエリーだけは異なります。

    a AND b OR c
    c OR a AND b
    c OR (a AND b)
    (c OR a) AND b

注意   記号 (&、|、!、~) および英語のキーワードである ANDORNOTNEAR の動作は、Index Server でサポートされているすべての言語において同じになります。また、ブラウザのロケールが次の 6 つの言語のいずれかに設定されているときは、それぞれ対応するローカライズ キーワードも利用できます。

言語 キーワード
ドイツ語 UNDODERNICHTNAH
フランス語 ETOUSANSPRES
スペイン語 YONOCERCA
オランダ語 ENOFNIETNABIJ
スウェーデン語 OCHELLERINTENÄRA
イタリア語 EONOVICINO

ページの先頭ワイルドカード

ワイルドカード演算子を使うと、指定した単語に類似した単語のあるページを検索できます。


ページの先頭フリーテキスト クエリー

フリーテキスト クエリーでは、クエリー エンジンは指定された単語や句の内容にもっとも近い内容を持つページを検索します。つまり、クエリーの単語の正確な綴りではなく、その意味が一致しているページを自動的に検索します。フリーテキスト クエリーでは、論理演算子や近接演算子、ワイルドカード演算子などはすべて無視されます。フリーテキスト クエリーにはその前に $contents を付けます。

検索条件 検索結果
フリーテキストの内容に一致するファイル $contents how do I print in Microsoft Excel? Microsoft Excel および印刷について説明しているページ

ページの先頭ベクトル空間クエリー

クエリー エンジンはベクトル空間クエリーをサポートしています。ベクトル クエリーは、リストとして列挙された単語や句にそれぞれマッチするページを検索します。検索された各ページのランクは、そのページがクエリーにどれだけマッチしているかを示します。

検索条件 検索結果
特定の単語を含むページ light, bulb 検索した単語にもっとも近い単語のあるファイル
重み付けされたプレフィックス、単語、および句を含むページ invent*, light[50], bulb[10], "light bulb"[400] プリフィックスが "invent" の単語、単語 "light"、単語 "bulb"、および句 "light bulb" のあるファイル (これらの語句はそれぞれ重み付けされています)
  • ベクトル クエリーの各項はカンマで区切ります。
  • ベクトル クエリーの各項には [重み] の構文を使って重み付けを指定できます。
  • ベクトル クエリーで返されるページは、クエリーで指定したすべての語句に必ずしもマッチしているわけではありません。
  • ベクトル クエリーは、検索結果をランク順に並べ替えるときにもっとも有効です。

ページの先頭プロパティ値クエリー

プロパティ値クエリーは、指定された条件を満たすプロパティ値を持つファイルを見つけるために使います。クエリーの対象となるプロパティには、ファイル名やファイル サイズなどのファイルの基本情報があります。また、ActiveX プロパティには、ActiveX 対応アプリケーションが作成してファイル内に格納する文書の概要情報 (アブストラクト) があります。

プロパティ クエリーには次の 2 種類があります。

  • 比較型プロパティ クエリーは、アットマーク記号 (@)、プロパティ名比較演算子、および プロパティ値で構成されます。たとえば、サイズが 100 万バイトを超えるファイルをすべて検索するには、@size > 1000000 というクエリーを実行します。

  • 正規表現型プロパティ クエリーは、シャープ記号 (#)、プロパティ名、およびプロパティ値正規表現で構成されます。たとえば、すべてのビデオ (.avi) ファイルを検索するには、 #filename *.avi というクエリーを実行します。正規表現は、特殊なプロパティであるコンテンツ (#contents) およびすべて (#all) にはマッチしません。また、HTML ページの #HtmlHRef など、一部の書式固有のプロパティも正規表現にマッチしないものがあります。

プロパティ名

プロパティ名は、その前にアットマーク記号 (@) またはシャープ記号 (#) を付けて表します。比較型クエリーでは @ を、正規表現クエリーでは # を、それぞれ使います。

プロパティ名省略した場合は、@contents とみなされます。

すべてのファイルで有効なプロパティを次に示します。

プロパティ名 説明
All すべてのプロパティ
Contents ファイル内の単語や句、およびテキストからなるプロパティ
Filename ファイルの名前
Size ファイルのサイズ
Write ファイルの最終変更日時

クエリーでは ActiveX プロパティ値も使えます。次に示すプロパティについてクエリーを実行し、通常の ActiveX 対応アプリケーションが作成したファイルのある Web サイトを検索することができます。

プロパティ名 説明
DocTitle 文書のタイトル
DocSubject 文書の表題
DocAuthor 文書の作成者
DocKeywords 文書に関するキーワード
DocComments 文書に関するコメント

プロパティ名の一覧については、「プロパティ名一覧」を参照してください。

比較演算子

比較演算子は比較型プロパティ クエリーで使われます。

検索条件 検索結果
固定値との比較条件を満たすプロパティ値 @size < 100
@size <= 100
@size = 100
@size != 100
@size >= 100
@size > 100
クエリーの条件を満たすサイズを持つファイル
指定のビット セットがすべてオンになっているプロパティ値 @attrib ^a 0x820 アーカイブ ビットがオンになっている圧縮ファイル
指定のビット セットの一部がオンになっているプロパティ値 @attrib ^s 0x20 アーカイブ ビットがオンになっているファイル

プロパティ値

検索条件 検索結果
具体的な値 @DocAuthor = Bill Barnes 作成者が "Bill Barnes" のファイル
同じプレフィックスで始まる値 #DocAuthor George* 作成者名が "George" で始まるファイル
指定の拡張子を持つファイル #filename *.|(exe|,dll|,sys|) .exe、.dll、または .sys のいずれかの拡張子を持つファイル
特定の日時よりも後に変更されたファイル @write > 96/2/14 10:00:00 1996 年 2 月 14 日午前 10:00 (GMT) 以降に変更されたファイル
相対日時よりも後に変更されたファイル @write > -1d2h 過去 26 時間以内に変更されたファイル
  • プロパティ値として正規表現を使うときはプロパティ名の前に必ずシャープ記号 (#) を付け、正規表現以外を使うときはアットマーク記号 (@) を付けてください。正規表現クエリーでは、等号 (=) 比較演算子が仮定されます。

  • テキストの左側にワイルドカードを指定した正規表現が使用できるプロパティは、ファイル名 (#filename) だけです。テキストの左側のワイルドカードはこの場合のみ有効です。

  • 日付および時刻の値は yyyy/mm/dd hh:mm:ss の形式で指定します。最初の 2 文字 (2 桁の年数) と時刻の部分は省略できます。日付および時刻の値はグリニッジ標準時 (GMT) です。

  • 現在からの相対日時はマイナス記号 (-) を付けて表し、その後に 0、または整数と文字のペアを 1 つまたは複数指定します。文字には時間の単位を示す y (年)、m (月)、w (週)、d (日)、h (時)、n (分)、または s (秒) を指定します。

  • 通貨値は x.y の形式で指定します。x には整数額、y には小数額を指定します。単位は仮定されていません。

  • 論理値は、TRUE を t または true で、FALSE を f または false で、それぞれ表します。

  • ベクトル (VT_VECTOR) は、開き中かっこ ({)、カンマで区切られた値のリスト、および閉じ中かっこ (}) で表します。

  • ベクトルと単一値の式とを比較する場合は、比較演算子と、^a (all of (すべての〜)) または ^s (some of (いくつかの〜)) のどちらかを指定します。

  • 数値には 10 進数または 16 進数 (0x で始まる値) のどちらでも指定できます。

  • contents プロパティでは比較演算子は使用できません。比較演算子を指定しても何も検索されません。たとえば、@contents Microsoft は テキスト Microsoft が含まれている文書を検索しますが、@contents=Microsoft は何も検索しません。

正規表現

プロパティ クエリーでは、正規表現が次のように定義されています。

  • アスタリスク (*)、ピリオド (.)、疑問符 (?)、および縦棒 (|) 以外の文字は、文字そのものにマッチします。

  • 正規表現に引用符 (") が含まれている場合は、正規表現を引用符で囲んでマッチさせることができます。空白文字 ( ) や閉じかっこ ()) を含む場合も引用符で囲む必要があります。

  • *、.、および ? の各文字は、Windows の場合と同じように動作します。それぞれ、任意数の文字列、(.) または文字列の終端文字、および任意の 1 文字にマッチします。

  • 文字 | はエスケープ文字です。| の直後に次に示す文字を指定すると、それぞれ特殊な意味を持つようになります。

    • ( は、グループの始まりを示します。( の後に対応する ) が必要です。
    • ) は、グループの終わりを示します。) の前に対応する ( が必要です。
    • [ は、文字クラスの始まりを示します。[ の後に対応する (エスケープされていない) ] が必要です。
    • { は、カウント マッチの始まりを示します。{ の後に対応する } が必要です。
    • } は、カウント マッチの終わりを示します。} の前に対応する { が必要です。
    • , は、OR 節を区切ります。
    • * は、直前の式が 0 個以上出現する箇所にマッチします。
    • ? は、直前の式が 0 個または 1 個出現する箇所にマッチします。
    • + は、直前の式が 1 個以上出現する箇所にマッチします。
    • 上記以外の文字を | の直後に指定した場合は、その文字自身にマッチします。

  • 角かっこ ([]) で囲まれた部分では、次の文字が特殊な意味を持ちます。

    • ^ は、この直後のクラス以外のすべてのクラスにマッチします。指定する場合は角かっこ内で必ず先頭に指定します。
    • ] は、^ の直前に指定した場合のみ、文字 ] にマッチします。それ以外ではクラスの終わりを示します。
    • - は、範囲指定演算子です。両側に通常の文字を指定して文字範囲を指定します。
    • 上記以外の文字はすべて、その文字自身にマッチします (または範囲指定の最初または最後を示します)。

  • 中かっこ ({}) で囲まれた部分では、次の構文が有効です。

    • |{m|} は、直前の式が m 個 (0 < m < 256) 出現する箇所にマッチします。
    • |{m,|} は、直前の式が少なくとも m 個 (1 < m < 256) 出現する箇所にマッチします。
    • |{m,n|} は、直前の式が m 個以上 n 個以下出現する箇所にマッチします (0 < m < 256、0 < n < 256)。

  • 文字 *、.、および ? にマッチさせるには、それらを角かっこで囲みます。たとえば、|[*]sample は "*sample" にマッチします。


ページの先頭クエリーの例

検索結果
@size > 1000000 サイズが 100 万バイトを超えるページ
@write > 95/12/23 指定の日付以降に変更されたページ
Apple tree 句 "apple tree" のあるページ
"apple tree" 上と同じ
@contents apple tree 上と同じ
Microsoft and @size > 1000000 単語 "Microsoft" があり、かつサイズが 100 万バイトを超えるページ
"microsoft and @size > 1000000" 指定の句のあるページ (上の例との違いに注意)
#filename *.avi ビデオ ファイル (クエリーに正規表現が含まれているためプレフィックス # を使用)
@attrib ^s 32 アーカイブ属性ビットがオンになっているページ
@docauthor = John Smith 指定の作成者が作成したページ
$contents why is the sky blue? 「why is the sky bule」の意味と一致するページ
@size < 100 & #filename *.gif サイズが 100 バイト未満の GIF (Graphics Interchange Format) ファイル

ページの先頭プロパティ名一覧

これらのプロパティはクエリーで常に利用できます。Web サーバーの設定によってはこれら以外のプロパティが利用できる場合もあります。

愛称 データ型 プロパティ
Access DBTYPE_DATE ファイルの最終アクセス日時
All (なし) すべてのプロパティで文字列を検索 (クエリーのみ、取得は不可)
AllocSize DBTYPE_I8 ファイルのディスク割り当てサイズ
Attrib DBTYPE_UI4 ファイル属性 (詳細は Win32 SDK を参照)
ClassId DBTYPE_GUID オブジェクトのクラス ID (WordPerfect、Word など)
Characterization DBTYPE_WSTR | DBTYPE_BYREF 文書の特徴付け (アブストラクト、Index Server が算出)
Contents (なし) ファイルの主要コンテンツ (クエリーのみ、取得は不可)
Create DBTYPE_DATE ファイルの作成日時
DocAppName DBTYPE_STR | DBTYPE_BYREF ファイルの作成元のアプリケーション名
DocAuthor DBTYPE_STR | DBTYPE_BYREF 文書の作成者
DocCategory DBTYPE_STR 文書の種類 (メモ、スケジュールなど)
DocCharCount DBTYPE_I4 文書内の文字数
DocComments DBTYPE_STR | DBTYPE_BYREF 文書に関するコメント
DocCompany DBTYPE_STR 文書の作成対象となった会社名
DocCreatedTm DBTYPE_DATE 文書の作成日時
DocEditTime DBTYPE_DATE 文書の総編集時間
DocKeywords DBTYPE_STR | DBTYPE_BYREF 文書のキーワード
DocLastAuthor DBTYPE_STR | DBTYPE_BYREF 文書をもっとも頻繁に編集したユーザー
DocLastPrinted DBTYPE_DATE 文書の最終印刷日時
DocLastSavedTm DBTYPE_DATE 文書の最終保存日時
DocManager DBTYPE_STR 文書の作成者の管理者の名前
DocPageCount DBTYPE_I4 文書内のページ数
DocRevNumber DBTYPE_STR | DBTYPE_BYREF 文書の現在のバージョン番号
DocSubject DBTYPE_STR | DBTYPE_BYREF 文書の主題
DocTemplate DBTYPE_STR | DBTYPE_BYREF 文書のテンプレート名
DocTitle DBTYPE_STR | DBTYPE_BYREF 文書のタイトル
DocWordCount DBTYPE_I4 文書内のワード数
FileIndex DBTYPE_I8 ファイルの一意な ID
FileName DBTYPE_WSTR | DBTYPE_BYREF ファイル名
HitCount DBTYPE_I4 ファイル内のヒット数 (クエリーでマッチしたワード数)
HtmlHRef DBTYPE_WSTR | DBTYPE_BYREF HTML HREF のテキスト (クエリーのみ、取得は不可)
HtmlHeading1 DBTYPE_WSTR | DBTYPE_BYREF HTML 文書のスタイル H1 のテキスト (クエリーのみ、取得は不可)
HtmlHeading2 DBTYPE_WSTR | DBTYPE_BYREF HTML 文書のスタイル H2 のテキスト (クエリーのみ、取得は不可)
HtmlHeading3 DBTYPE_WSTR | DBTYPE_BYREF HTML 文書のスタイル H3 のテキスト (クエリーのみ、取得は不可)
HtmlHeading4 DBTYPE_WSTR | DBTYPE_BYREF HTML 文書のスタイル H4 のテキスト (クエリーのみ、取得は不可)
HtmlHeading5 DBTYPE_WSTR | DBTYPE_BYREF HTML 文書のスタイル H5 のテキスト (クエリーのみ、取得は不可)
HtmlHeading6 DBTYPE_WSTR | DBTYPE_BYREF HTML 文書のスタイル H6 のテキスト (クエリーのみ、取得は不可)
Path DBTYPE_WSTR | DBTYPE_BYREF ファイルの完全な物理パス (ファイル名も含む)
Rank DBTYPE_I4 行のランク (0〜1,000、数が大きいほどマッチの度合が高い)
RankVector DBTYPE_I4 | DBTYPE_VECTOR ベクトル空間クエリーの各要素のランク
ShortFileName DBTYPE_WSTR | DBTYPE_BYREF 8.3 形式の短いファイル名
Size DBTYPE_I8 ファイルのサイズ (バイト単位)
USN DBTYPE_I8 更新シーケンス番号 (NTFS デバイスのみ)
VPath DBTYPE_WSTR | DBTYPE_BYREF ファイルの完全な仮想パス (ファイル名も含む、
マッチするパスが複数ある場合は指定のクエリーにもっともマッチするパスが選ばれる)
WorkId DBTYPE_I4 ファイルの内部 ID (Index Server が内部的に使用)
Write DBTYPE_DATE ファイルの最終書き込み日時

注意    次のプロパティについてはそのままでは利用できません。

DocCategory
DocCompany
DocManager

これらのプロパティを使うには、.idq ファイルの [Names] セクションにそれらを列挙する必要があります。また、制限や並べ替え指定の中で、あるいは取得列としてこれらのプロパティを使うには、次の定義を .idq ファイルに追加する必要があります。

[Names]
#標準のリストにはない Office 文書プロパティ
DocCategory ( DBTYPE_STR ) = D5CDD502-2E9C-101B-9397-08002B2CF9AE 0x2
DocManager ( DBTYPE_STR ) = D5CDD502-2E9C-101B-9397-08002B2CF9AE 0xE
DocCompany ( DBTYPE_STR ) = D5CDD502-2E9C-101B-9397-08002B2CF9AE 0xF

 

 

Copyright(C) 2002- ISABOU.NET All rights reserved.