フィールド指定検索
特定のフィールドだけを対象にした検索(フィールド検索)を行うことで、タイトルだけ・URLだけといった絞り込みができます。
Fess でクロールした結果は、タイトルや本文などのフィールドごとに保存されています。それらのフィールドを指定して検索することで、ドキュメントの種類別やサイズ別など、細かい検索条件を指定できます。
利用可能なフィールド
デフォルトでは、以下のフィールドを指定して検索できます。
| フィールド名 | 説明 | データ型 |
|---|---|---|
| url | クロールした URL | キーワード |
| host | クロールした URL に含まれるホスト名 | キーワード |
| site | URL からスキームとクエリー文字列を除いた文字列(ホスト名とパス)。前方一致で検索されます | キーワード |
| title | タイトル | テキスト |
| content | 本文 | テキスト |
| content_length | ドキュメントのサイズ(バイト) | 数値 |
| last_modified | ドキュメントの最終更新日時 | 日時 |
| timestamp | ドキュメントの登録日時(最終更新日時を取得できない場合はクロール実行時刻) | 日時 |
| mimetype | ドキュメントの MIME タイプ(例: text/html) | キーワード |
| filetype | MIME タイプから決まるファイル種別(例: html、word、pdf。該当しない場合は others) | キーワード |
| filename | URL のパス末尾のファイル名 | キーワード |
| label | ドキュメントに付与されたラベルの値 | キーワード |
| lang | ドキュメントの言語コード(例: ja、en) | キーワード |
| anchor | HTML ページ内から抽出したリンク先 URL(Web クロールのみ) | キーワード |
| click_count | ドキュメントがクリックされた回数 | 数値 |
| favorite_count | ドキュメントがお気に入り登録された回数 | 数値 |
表: 利用可能なフィールド一覧
「データ型」は、フィールドごとの検索方法の違いを表します。
キーワード: 値全体を対象に完全一致で検索します。ワイルドカード検索やプレフィックス検索と組み合わせることもできます。
テキスト: 形態素解析などで分割された語を対象に全文検索します。title や content が該当します。
数値・日時: 範囲指定検索 を利用できます。
フィールドを指定しない場合は、title および content を対象に検索します。設定によって、検索対象とするフィールドを追加することもできます。
注釈
クロール対象によっては値が登録されないフィールドもあります。たとえば anchor は Web クロール時のみ、lang は HTML に言語属性がある場合のみ登録されます。また、segment(クロール実行単位を表すセッション ID)や doc_id(システムが採番する内部 ID)などのフィールドも指定できますが、通常の検索では利用しません。
HTML ファイルを検索対象としている場合、title タグが title フィールドに、body タグ以下の文字列が content フィールドに登録されます。
利用方法
フィールド指定検索をする場合は、「フィールド名:検索語」のように、フィールド名と検索語をコロン(:)で区切って検索フォームに入力します。
title フィールドに対して fess を検索語として検索する場合は、以下のように入力します。
上記の検索により、title フィールドに fess が含まれるドキュメントが検索結果として表示されます。
url フィールドに対して検索する場合は、以下のように入力します。
前者はワイルドカード検索が使えるので、 url:*\/\/fess.codelibs.org\/* のような書き方もできます。url に含まれる「:」や「/」は検索クエリーの特殊文字なので、\ を付けてエスケープしてください(特殊文字 を参照)。後者はワイルドカード検索は使えませんが、末尾を * にした語はプレフィックス(前方一致)検索として扱われます。
Tip
URL の一部で検索したい場合は、inurl: を使うと URL に対する部分一致検索ができます。たとえば inurl:15.8 は、URL に 15.8 を含むドキュメントを検索します。
mimetype や filetype、site のように値に「/」を含むフィールドを指定する場合は、mimetype:"text/html" のように引用符で囲むか、mimetype:text\/html のようにエスケープしてください。