Web サイト上では、クエリー フォームに単語や句を入力してクエリー実行ボタン (サンプル クエリー フォームの [クエリーの実行] ボタンなど) をクリックするだけで、それらの単語や句を検索できます。ここでは、次の内容について説明します。
検索を実行すると、検索した単語や句がテキストの中に含まれているファイルのリストが生成されます。クエリーを利用する際の規則を次に示します。
- 連続する複数の単語は句として扱われます。句はドキュメント内で同じ語順で出現しなければ検索されません。
- クエリーでは大文字小文字が区別されません。したがって、大文字小文字のどちらでも入力できます。
- 検索では、例外リストに列挙されている単語を除くすべての単語を検索できます。例外リストには、たとえば英語の場合 a、an、and、as、などの一般的な単語が列挙されていますが、これらは検索時には無視されます。
- 例外リスト内の単語は、句クエリーおよび近接クエリーではプレースホルダとして扱われます。たとえば、"Word for Windows" を検索した場合、for はノイズ ワードであり例外リストに列挙されているため、"Word for Windows" と "Word and Windows" が検索されます。
- ピリオド (.)、コロン (:)、セミコロン (;)、カンマ (,) などの句読点文字は検索時には無視されます。
- クエリーで特殊な意味を持つ &、|、^、#、@、$、(、) などの文字を検索するには、それらを引用符 (") で囲みます。
- 引用符を含む単語や句を検索するには、検索語句全体を引用符で囲み、その中で引用符で囲まれている部分をさらに引用符で囲みます。たとえば、World-Wide Web or "Web" を検索するには、"World-Wide Web or ""Web""" と指定します。
- 論理演算子 (AND、OR、NOT) や近接演算子 (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
注 記号 (&, |, !, ~) および英語のキーワードである AND、OR、NOT、NEAR の動作は、Index Server でサポートされているすべての言語において同じになります。また、ブラウザのロケールが次の 6 つの言語のいずれかに設定されているときは、それぞれ対応するローカライズ キーワードも利用できます。
| 言語 |
キーワード |
| ドイツ語 |
UND、ODER、NICHT、NAH |
| フランス語 |
ET、OU、SANS、PRES |
| スペイン語 |
Y、O、NO、CERCA |
| オランダ語 |
EN、OF、NIET、NABIJ |
| スウェーデン語 |
OCH、ELLER、INTE、NÄRA |
| イタリア語 | E、O、NO、VICINO |
注 NEAR 演算子は、単語や句にだけ使用できます。
ワイルドカード演算子を使うと、指定した単語に類似した単語のあるページを検索できます。
フリーテキスト クエリーでは、クエリー エンジンは指定された単語や句の内容にもっとも近い内容を持つページを検索します。つまり、クエリーの単語の正確な綴りではなく、その意味が一致しているページを自動的に検索します。フリーテキスト クエリーでは、論理演算子や近接演算子、ワイルドカード演算子などはすべて無視されます。フリーテキスト クエリーにはその前に $contents を付けます。
クエリー エンジンはベクトル空間クエリーをサポートしています。ベクトル クエリーは、リストとして列挙された単語や句にそれぞれ一致するページを検索します。検索された各ページのランクは、そのページがクエリーにどれだけ一致しているかを示します。
| 検索条件 |
例 |
検索結果 |
| 特定の単語を含むページ |
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 サーバーの設定によってはこれら以外のプロパティが利用できる場合もあります。
| 愛称 |
データ型 |
プロパティ |
| Access | VT_FILETIME |
ファイルの最終アクセス日時 |
| All | (なし) |
すべてのプロパティで文字列を検索 (クエリーのみ、取得は不可) |
| AllocSize | DBTYPE_I8 |
ファイルのディスク割り当てサイズ |
| Attrib | DBTYPE_UI4 |
ファイル属性 (詳細は Win32 SDK を参照) |
| ClassId | DBTYPE_GUID |
オブジェクトのクラス ID (WordPerfect、Word など) |
| Characterization | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントの特徴付け (アブストラクト、Index Server が算出) |
| Contents | (なし) |
ファイルの主要コンテンツ (クエリーのみ、取得は不可) |
| Create | VT_FILETIME |
ファイルの作成日時 |
| Directory | DBTYPE_WSTR |
DBTYPE_BYREF |
ファイルの物理パス (ファイル名は含まない) |
| DocAppName | DBTYPE_WSTR |
DBTYPE_BYREF |
ファイルの作成元のアプリケーション名 |
| DocAuthor | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントの作成者 |
| DocByteCount | DBTYPE_14 | ドキュメントのバイト数 |
| DocCategory | DBTYPE_STR |
DBTYPE_BYREF | ドキュメントの種類 (メモ、スケジュールなど) |
| DocCharCount | DBTYPE_I4 |
ドキュメント内の文字数 |
| DocComments | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントに関するコメント |
| DocCompany | DBTYPE_STR |
DBTYPE_BYREF | ドキュメントの作成対象となった会社名 |
| DocCreatedTm | VT_FILETIME |
ドキュメントの作成日時 |
| DocEditTime | VT_FILETIME |
ドキュメントの総編集時間 |
| DocHiddenCount | DBTYPE_14 | Microsoft® PowerPoint ドキュメント内の表示されないスライド数 |
| DocKeywords | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントのキーワード |
| DocLastAuthor | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントをもっとも頻繁に編集したユーザー |
| DocLastPrinted | VT_FILETIME |
ドキュメントの最終印刷日時 |
| DocLastSavedTm | VT_FILETIME |
ドキュメントの最終保存日時 |
| DocLineCount | DBTYPE_14 | ドキュメントの行数 |
| DocManager | DBTYPE_STR |
DBTYPE_BYREF | ドキュメントの作成者の管理者の名前 |
| DocNoteCount | DBTYPE_14 | PowerPoint ドキュメント内のノートのページ数 |
| DocPageCount | DBTYPE_I4 |
ドキュメント内のページ数 |
| DocParaCount | DBTYPE_14 | ドキュメント内の段落数 |
| DocPartTitles | DBTYPE_STR | DBTYPE_VECTOR | ドキュメントのパーツ名 (Excel のスプレッド シート名、PowerPoint のスライドのタイトル、Word for Windows のマスタードキュメント内のドキュメント名) |
| DocPresentationTarget | DBTYPE_STR|DBTYPE_BYREF | PowerPoint のプレゼンテーションで使用するメディア (35mm、プリンタ、ビデオなど) |
| DocRevNumber | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントの現在のバージョン番号 |
| DocSlideCount | DBTYPE_14 | PowerPoint ドキュメント内のスライド数 |
| DocSubject | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントの主題 |
| DocTemplate | DBTYPE_WSTR |
DBTYPE_BYREF |
ドキュメントのテンプレート名 |
| DocTitle | DBTYPE_WSTR |
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 | VT_FILETIME |
ファイルの最終書き込み日時 |
新しいプロパティ名の定義
前のリストにないプロパティを定義するには、.idq ファイルの [Names] セクションに指定します。定義するプロパティに、制限を設ける、並べ替え規則を適用する、
列検索をする、などのことを行うには、次の書式で .idq ファイルに指定します。
[Names]
#標準で用意されていないプロパティ
プロパティ名 ( データ型 ) = GUID