クエリー言語

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™ (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 演算子は、検索する 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

   NEAR 演算子は、単語や句にだけ使用できます。

ワイルドカード

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

検索条件 検索結果
同じプレフィックスを持つ単語 comput* 同じプレフィックス "comput" を持つ "computer" や "computing" などの単語のあるページ
同じ語幹から活用変化した単語 fly** 同じ語幹 "fly" から活用変化した "flying"、"flown"、"flew" などの単語のあるページ

フリーテキスト クエリー

フリーテキスト クエリーでは、クエリー エンジンは指定された単語や句の内容にもっとも近い内容を持つページを検索します。つまり、クエリーの単語の正確な綴りではなく、その意味が一致しているページを自動的に検索します。フリーテキスト クエリーでは、論理演算子や近接演算子、ワイルドカード演算子などはすべて無視されます。フリーテキスト クエリーにはその前に $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 時間以内に変更されたファイル
指定のベクトルに一致するベクトル @vectorprop = { 10, 15, 20 } ベクトル プロパティの値が { 10, 15, 20 } の ActiveX ドキュメント
ベクトル内の各値が指定の条件を満たすベクトル @vectorprop >^a 15 ベクトル内の値がすべて 15 よりも大きいベクトル プロパティ値を持つ ActiveX ドキュメント
ベクトル内の少なくとも 1 つ以上の値が指定の条件を満たすベクトル @vectorprop =^s 15 ベクトル内の少なくとも 1 つ以上の値が 15 よりも大きいベクトル プロパティ値を持つ ActiveX ドキュメント

 

  • プロパティ値として正規表現を使うときはプロパティ名の前に必ずシャープ記号 (#) を付け、正規表現以外を使うときはアットマーク記号 (@) を付けてください。正規表現クエリーでは、等号 (=) 比較演算子が仮定されます。
  • テキストの 左側 にワイルドカードを指定した正規表現が使用できるプロパティは、ファイル名 (#filename) だけです。テキストの左側のワイルドカードはこの場合のみ有効です。
  • 日付および時刻の値は yyyy/mm/dd hh:mm:ss、または yyyy-mm-dd hh:mm:ss の形式で指定します。最初の 2 文字 (2 桁の年数) と時刻の部分は省略できます。年数の最初の 2 文字を省略すると、年数が 29 以下の場合は 2000 年代として、30 以上の場合は 1900 年代として解釈されます。日付および時刻の値はグリニッジ標準時 (GMT) です。
  • 現在からの相対日時はマイナス記号 (-) を付けて表し、その後に 0、または整数と文字のペアを 1 つまたは複数指定します。文字には時間の単位を示す y (年)、m (月)、w (週)、d (日)、h (時)、n (分)、または s (秒) を指定します。日付表記の秒の後ろに、オプションでミリ秒値を指定できます。たとえば 1997/12/8 10:10:03:452 の 452 がミリ秒値です。
  • 通貨値は 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 サーバーの設定によってはこれら以外のプロパティが利用できる場合もあります。

愛称 データ型 プロパティ
AccessVT_FILETIME ファイルの最終アクセス日時
All(なし) すべてのプロパティで文字列を検索 (クエリーのみ、取得は不可)
AllocSizeDBTYPE_I8 ファイルのディスク割り当てサイズ
AttribDBTYPE_UI4 ファイル属性 (詳細は Win32 SDK を参照)
ClassIdDBTYPE_GUID オブジェクトのクラス ID (WordPerfect、Word など)
CharacterizationDBTYPE_WSTR | DBTYPE_BYREF ドキュメントの特徴付け (アブストラクト、Index Server が算出)
Contents(なし) ファイルの主要コンテンツ (クエリーのみ、取得は不可)
CreateVT_FILETIME ファイルの作成日時
DirectoryDBTYPE_WSTR | DBTYPE_BYREF ファイルの物理パス (ファイル名は含まない)
DocAppNameDBTYPE_WSTR | DBTYPE_BYREF ファイルの作成元のアプリケーション名
DocAuthorDBTYPE_WSTR | DBTYPE_BYREF ドキュメントの作成者
DocByteCountDBTYPE_14ドキュメントのバイト数
DocCategoryDBTYPE_STR | DBTYPE_BYREFドキュメントの種類 (メモ、スケジュールなど)
DocCharCountDBTYPE_I4 ドキュメント内の文字数
DocCommentsDBTYPE_WSTR | DBTYPE_BYREF ドキュメントに関するコメント
DocCompanyDBTYPE_STR | DBTYPE_BYREFドキュメントの作成対象となった会社名
DocCreatedTmVT_FILETIME ドキュメントの作成日時
DocEditTimeVT_FILETIME ドキュメントの総編集時間
DocHiddenCountDBTYPE_14Microsoft® PowerPoint ドキュメント内の表示されないスライド数
DocKeywordsDBTYPE_WSTR | DBTYPE_BYREF ドキュメントのキーワード
DocLastAuthorDBTYPE_WSTR | DBTYPE_BYREF ドキュメントをもっとも頻繁に編集したユーザー
DocLastPrintedVT_FILETIME ドキュメントの最終印刷日時
DocLastSavedTmVT_FILETIME ドキュメントの最終保存日時
DocLineCountDBTYPE_14ドキュメントの行数
DocManagerDBTYPE_STR | DBTYPE_BYREFドキュメントの作成者の管理者の名前
DocNoteCountDBTYPE_14PowerPoint ドキュメント内のノートのページ数
DocPageCountDBTYPE_I4 ドキュメント内のページ数
DocParaCountDBTYPE_14ドキュメント内の段落数
DocPartTitlesDBTYPE_STR | DBTYPE_VECTORドキュメントのパーツ名 (Excel のスプレッド シート名、PowerPoint のスライドのタイトル、Word for Windows のマスタードキュメント内のドキュメント名)
DocPresentationTargetDBTYPE_STR|DBTYPE_BYREFPowerPoint のプレゼンテーションで使用するメディア (35mm、プリンタ、ビデオなど)
DocRevNumberDBTYPE_WSTR | DBTYPE_BYREF ドキュメントの現在のバージョン番号
DocSlideCountDBTYPE_14PowerPoint ドキュメント内のスライド数
DocSubjectDBTYPE_WSTR | DBTYPE_BYREF ドキュメントの主題
DocTemplateDBTYPE_WSTR | DBTYPE_BYREF ドキュメントのテンプレート名
DocTitleDBTYPE_WSTR | DBTYPE_BYREF ドキュメントのタイトル
DocWordCountDBTYPE_I4 ドキュメント内のワード数
FileIndexDBTYPE_I8 ファイルの一意な ID
FileNameDBTYPE_WSTR | DBTYPE_BYREF ファイル名
HitCountDBTYPE_I4 ファイル内のヒット数 (クエリーで一致したワード数)
HtmlHRefDBTYPE_WSTR | DBTYPE_BYREF HTML HREF のテキスト (クエリーのみ、取得は不可)
HtmlHeading1DBTYPE_WSTR | DBTYPE_BYREF HTML ドキュメントのスタイル H1 のテキスト (クエリーのみ、取得は不可)
HtmlHeading2DBTYPE_WSTR | DBTYPE_BYREF HTML ドキュメントのスタイル H2 のテキスト (クエリーのみ、取得は不可)
HtmlHeading3DBTYPE_WSTR | DBTYPE_BYREF HTML ドキュメントのスタイル H3 のテキスト (クエリーのみ、取得は不可)
HtmlHeading4DBTYPE_WSTR | DBTYPE_BYREF HTML ドキュメントのスタイル H4 のテキスト (クエリーのみ、取得は不可)
HtmlHeading5DBTYPE_WSTR | DBTYPE_BYREF HTML ドキュメントのスタイル H5 のテキスト (クエリーのみ、取得は不可)
HtmlHeading6DBTYPE_WSTR | DBTYPE_BYREF HTML ドキュメントのスタイル H6 のテキスト (クエリーのみ、取得は不可)
PathDBTYPE_WSTR | DBTYPE_BYREF ファイルの完全な物理パス (ファイル名も含む)
RankDBTYPE_I4 行のランク (0〜1,000、数が大きいほど一致の度合が高い)
RankVectorDBTYPE_I4 | DBTYPE_VECTOR ベクトル空間クエリーの各要素のランク
ShortFileNameDBTYPE_WSTR | DBTYPE_BYREF 8.3 形式の短いファイル名
SizeDBTYPE_I8 ファイルのサイズ (バイト単位)
USNDBTYPE_I8 更新シーケンス番号 (NTFS デバイスのみ)
VPathDBTYPE_WSTR | DBTYPE_BYREF ファイルの完全な仮想パス (ファイル名も含み、一致するパスが複数ある場合は指定のクエリーにもっとも一致するパスが選ばれる)
WorkIdDBTYPE_I4 ファイルの内部 ID (Index Server が内部的に使用)
WriteVT_FILETIME ファイルの最終書き込み日時

新しいプロパティ名の定義

前のリストにないプロパティを定義するには、.idq ファイルの [Names] セクションに指定します。定義するプロパティに、制限を設ける、並べ替え規則を適用する、 列検索をする、などのことを行うには、次の書式で .idq ファイルに指定します。

[Names]
#標準で用意されていないプロパティ
プロパティ名 ( データ型 ) = GUID

Copyright ©2005 Educational Corporation Tokyo Junshin Academy of Girls and Women. All Rights Reserved.
最終更新日
07.04.05 〒192-0011 東京都八王子市滝山町2丁目600番地 TEL:042-691-1345