Fess 14.7.0(elastic search)を使用して特殊文字を含むファイルをクロールしましたが、特殊文字のみのインデックスが作成されない問題が発生しています。具体的には、¥/などの特殊文字で検索してもヒットしませんでした。この問題の原因を教えてください。

Fessは、特殊文字を含むファイルをクロールする際に、デフォルトでは特殊文字を無視します。そのため、特殊文字のみのインデックスを作成しないことがあります。

この問題の原因として考えられるのは、Fessが使用している標準のクローラ(Tika)が、特殊文字を無視するように設定されていることです。Tikaはデフォルトで、特殊文字を無視してテキストを抽出します。

この問題を解決するためには、Fessの設定を変更する必要があります。具体的には、`fess_config.properties`ファイル(デフォルトでは`$FESS_HOME/app/WEB-INF/classes/fess_config.properties`)で、以下の設定を追加することで特殊文字を無視しないようにします。

“`
# コンテンツの抽出時に特殊文字を無視しない
tika.parse.recursive=true
tika.parse.skip=.*
tika.parse.skip_attr=.*
“`

これにより、特殊文字を含むファイルも正しくインデックスされるはずです。

ただし、特殊文字を正しく処理することによって、インデックスサイズが増える可能性があることに注意してください。加えて、特殊文字を検索する際には、適切なエスケープ方法や検索クエリの指定方法にも注意が必要です。特殊文字を含むファイルを検索する場合は、適切なエンコーディングやエスケープルールに従って検索クエリを作成する必要があります。

コメントを残す