Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
0
Help us understand the problem. What is going on with this article?
@naente_dev

Fess 差分クロールを考える

結論

最終更新日時の確認
差分クロールを行う場合に有効にします。

公式ドキュメントには上記のように記載されているが、あくまでクロールを行った際にインデックスの作成を行うか否かの判定にのみ影響しているようで、クロール自体は対象パス内の全ファイルに対して行われている模様。
その為「差分だから処理速度が速い」ということはない。
(検証結果は後述)

得てして、差分クロールを求める背景には以下の要件があることと思われる。

  • 新たに追加・更新されたファイルを一定間隔で検索インデックスへ反映したい
  • ただし、処理時間・負荷は可能な限り短く・低くしたい

結論として現在の Fess で上記のような差分クロールを行う為には「ファイルクロール」ではなく、あらかじめクロール対象のファイル一覧を用意した上で「データストアクロール」を使用することになると思われる。
(有識者の方、ベストプラクティスがあれば教えていただきたい)

検証

検証環境

  • Fess 13.9.3
  • Elasticsearch 7.9.3

検証方法

以下、3ステップにてクロール完了に要する時間を計測した。

初期クロール

C:/fess-search/dummy/ 配下に dummy0001.txtdummy1000.txt を作成。
ファイルクロールを実施。
crawl01.png
約4分弱で 1000ファイルのインデックス作成が完了。

ファイルクロール

dummy0100.txt の内容を変更(ファイル内に modify と追記)した後、ファイルクロールを実施。
crawl02.png
約4分弱で 変更された 1ファイルのインデックス作成が完了。初期 1000件クロールと同程度の処理時間を要した。

search1.png
更新が反映されていることを確認。

データストアクロール

データストアクロールの設定は以下を参考に実施。
https://fess.codelibs.org/ja/13.9/admin/dataconfig-guide.html

アクション、クロール対象を記載した CSV を C:/fess_crawl_list/ 配下に作成する。

/fess_crawl_list/update.csv
modify,file:/C:/fess-search/dummy/dummy0200.txt

クローラ > データストア > 新規作成

インデクシング対象のファイルパスを記述した CSV ファイルをクロールする「CsvListDataStore」を使用する。

項目 設定値
名前 任意
ハンドラ名 CsvListDataStore
パラメーター directories=C:/fess_crawl_list
fileEncoding=UTF-8
スクリプト event_type=cell1
url=cell2
ブースト値 1.0
パーミッション {role}guest
状態 有効

dummy0200.txt の内容を変更(ファイル内に modify と追記)した後、データストアクロールを実施。
crawl03.png
一瞬で変更された 1ファイルのインデックス作成が完了。

search2.png
更新が反映されていることを確認。

0
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
naente_dev
ぜんぜんわからない 俺は雰囲気でコードを書いている

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
0
Help us understand the problem. What is going on with this article?