fess-13.9.0
OS: Windows 10
ファイル クローラーでインデックス化されたパスを対象として、ラベルで正規表現を書いたのですが、日本語が含まれているとラベルの対象に、思うように設定できませんでした。
試しに、URLエンコードした文字列で正規表現を書き直した所、上手く動作しました。
こちらの動作は、仕様、FAQネタだと思いますが、
フォーラムの過去ログから、ファイルシステムのクローラー(対象/除外)には、
「#DISABLE_URL_ENCODE」を指定できると知りました。
ラベルのパス指定にも、 #DISABLE_URL_ENCODE が欲しいな…と思いました。
ありがとうございます。
確認したみたのですが、ラベルの指定は#DISABLE_URL_ENCODEが指定された状態だと思うので、追加するとしても、#ENABLE_URL_ENCODEになってしまいますね…。#ENABLE_URL_ENCODEだと、追加する必要がないかなと考えています。
コード確認ありがとうございます!
動作的には逆でしたか。
頻繁にラベル設定を更新することは無さそうなので、ドキュメントに一言あれば済みますね。
ファイルクローラーのパスを対象とした正規表現を記述する際の注意点まとめ:
- 日本語は、マッチングする文字列をURLエンコードする
- URLエンコードした文字列は、大文字とする。(または、(?i) を付ける)
Windows 環境、PowerShell で変換する場合
> Add-Type -AssemblyName System.Web
> [System.Web.HttpUtility]::UrlEncode("日本語のパス").ToUpper()
%E6%97%A5%E6%9C%AC%E8%AA%9E%E3%81%AE%E3%83%91%E3%82%B9