FESSからRedmineをクロールしようとして、インデックスが作られない問題に遭遇しました。
現象
FESSからRedmineをクロールすべく、「FessでRedmineを検索するための認証方法」を参考にして、リクエストヘッダにX-Redmine-API-Keyを設定する方法で、クローラを設定しました。
しかし、Default Crawlerを手動で実行するのですが、インデックスが全く作られません。ゼロです。この時、FESSの管理画面では障害は見当たりません。
調査のためにやったこと
robots.txtの制限?
fess-crawler.logを見ると、robots.txtを参照した後クロールが終わっているように見えたので、robots.txtでアクセス制限がかかっているものと思い込み(これは間違いでした)、「Add crawler.ignore.robots.txt=false to fess_config.properties」等に記されている方法を真似て、fess_config.propertiesや設定パラメータに crawler.ignore.robots.txt=true
として見ましたが現象は変わりませんでした。
デバッグログを見た
FESSは、インストール直後ログ出力レベルが(log4jの)INFOになっているようなので、DEBUGレベルにしてログを見てみました。
そこで解ったのは、Redmineの認証が失敗していることでした。HTTPではエラーであっても、FESSでは障害として認識されないので注意しなければいけないことがわかりました。
対策
BASIC認証にして解決しました。
環境
- ホストOS : Windows 10 Pro Version 1709
- 仮想化 : VirtualBox 5.2.6
- ゲストOS : CentOS 6.9 / CentOS 7.4
- Fess : Fess 12.1.1
- Elasticseach : 6.2.1