Fessのコード検索でpath絞り込みとJavaScript・YAMLの分類を改善する

コード検索テーマで path:src/main を指定しても結果が出ない問題や、JavaScript・YAMLが言語ファセットに現れない問題が修正されました。テーマ側の検索式と、クロール時の分類・インデックス定義をそれぞれ更新する変更です。

pathとフレーズの指定

修正を含むcodesearchテーマでは、引用符なし・ワイルドカードなしのpathは前方一致になります。スラッシュなどは検索構文に合わせてエスケープされます。ワイルドカードを指定した場合はその指定を使い、引用符付きなら完全一致です。

path:src/main
path:*Suggester.java
path:"src/main/java/example/App.java"
"new HashMap"

フレーズの引用符や近接指定 "foo bar"~3 を維持し、--verbose は文字列として検索します。単独の先頭ハイフンによる除外は従来どおりです。ファセット操作後も同じ検索式を使います。ただし repo:a OR repo:b の並びや、否定条件の再解析に関する既存の制限は残ります。

初期値と画面操作

ページングは入力したnumではなくAPI応答の page_size に合わせます。標準の最大100件に対し num=500 を指定した場合も、次ページがstart=500になって途中の結果を飛ばすことを避けます。最大件数はサーバー設定に依存します。

幅960px以下ではFiltersボタンから絞り込みパネルを開けます。Escapeで閉じ、/ キーで検索欄へ移動できます。テキスト入力中やIME変換中はショートカットを割り込ませません。閉じたファセットパネルがTab順に残る既存の制限は今回のcodesearch修正では解消していません。

JavaScriptとYAMLを再クロールで分類する

docker-codesearchの conf/fess_config.overlay.properties の index.filetype に、text/javascript=javascript と text/x-yaml=yaml が追加されました。.js / .mjs と .yml / .yaml が対象です。TypeScript、JSX、CJS、Vue、SCSS、TOMLなどは検出上text/plainとなり、txt分類のままです。

既存文書のfiletypeは再クロールで更新します。保存済み文書をコピーするメンテナンスの再インデックスだけでは再計算されません。

スキーマと利用条件

_codesearch の定義には15.9のetag、last_modifier、tagと長音記号の正規化が取り込まれました。既存インデックスのマッピングは自動で変わらず、新規インデックスで定義が適用されます。既存データを更新する場合はバックアップと移行方法を検討し、定義更新だけで完了したと判断しないようにします。

テーマのソース上の版は15.9.8、minFessVersionは15.9です。確認時点のFess正式版は15.8.0なので、修正を含む15.9開発ビルドとテーマを使うための説明です。テーマの版番号をFess本体の正式リリースと混同しないでください。

関連PR

コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です