0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Fessで特定のファイル種類のみをクローリングする

Posted at

はじめに

全文検索システムFessで、特定ファイルのみを拡張子で指定する方法です。

前準備

挙動をテストするときは、システム→全般→クローラーの「最終更新日の確認」を無効にする必要があります。この設定が有効だと、1度クロールしたファイルが更新されない限りクロールされないので、テストしても何もクロールされないので。僕は、何度もテストして何もクロールされない、なぜだろう、と設定を見直して、やっと気づきました。

ダメだった方法

公式マニュアルによると、ファイルシステムのクロール設定の部分で「クロール対象とするパス」を正規表現で指定すれば良さそうに見えます。

スクリーンショット 2025-12-29 9.24.45.png

試しに、拡張子pptxのみをクロール対象とするため、

(?i).*\.pptx$

と設定してみました。ここで、(?i)は大文字と小文字を区別しない(PPTXにもマッチする)、$は末尾であることを示す正規表現です。

テスト用のフォルダにtest.pptx、test.docx、test.msgの3つがある状態にしておき、この設定でクローリングしてみます。成功すれば、test.pptxのみがクロールされるはずです。しかし、すべてのファイルがクロールされてしまいました。

上手く行った方法

設定バターンを変えて試した結果、「クロール対象から除外するパス」を設定すれば制御できました。正規表現の内容は同じで、「クロール対象から除外するパス」に

(?i).*\.pptx$

を記載して、他はブランクにしておくと、test.pptx以外のファイルがクロールされました。

複数の拡張子を設定することもできます。正規表現をつなげて1行にすることもできますが、

(?i).*\.pptx$
(?i).*\.msg$

のように改行しながら1つずつ設定した方が分かりやすいように思います。なお、この設定では、パワーポイントのファイル(拡張子pptx)とメールファイル(拡張子msg)がクロールの対象外になります。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?