Fessの検索ログに、ゼロヒットの原因を詳しく調べる機能と、利用者の検索語の言い換えから関連クエリーを生成する機能が追加されました。以前紹介した分析ダッシュボードに加え、検索改善を実施するための操作が増えています。
ゼロヒットのログへ移動する
概要・クエリータブに表示するゼロヒットの検索語から、該当するログ一覧を開けます。一覧のヒット数フィルターで「すべて」「ゼロヒットのみ」「1件以上」を切り替え、同じ条件でCSVを出力できます。ゼロヒットの表には最終検索日時も表示します。
利用者の分析にはロール・グループごとの検索数、ユーザー数、ゼロヒット率が加わりました。1回の検索をそのユーザーの複数のロール・グループへ計上するため、各行の合計は全体の検索数と一致しない場合があります。個人用の検索ロールは表から除外します。
検索ログから関連クエリーを生成する
管理画面の関連クエリーで「検索ログから生成」を実行します。同じセッションで短時間に行った検索の組み合わせを、検索語の言い換えとして集計します。例えば最初の検索語の後に、より具体的な語で検索してヒットした場合が候補になります。
主な初期値は次のとおりです。fess_config.propertiesで調整できます。
related_query.generate.days=30
related_query.generate.term.size=100
related_query.generate.query.size=5
related_query.generate.min.sessions=3
related_query.generate.session.interval=10
過去30日、仮想ホストごとに最大100語、1語につき最大5件の関連語が対象です。元の語と関連語の両方に3以上の異なるセッションが必要で、検索し直す間隔は10分以内です。検索ログとユーザー情報の記録が有効であることが前提になります。既存の登録語は変更せず、新規の語だけを作成します。
生成結果を確認して運用する
関連クエリーは公開され、検索語のOR展開にも利用します。生成時にはsuggest.search.log.permissionsに従ってゲスト公開できるログだけを対象とし、フィールド指定やワイルドカードなどの検索構文、NGワード、ヒットしない後続検索を除外します。作成後は通常の関連クエリーとして編集・削除できます。
全ログを無制限に解析する機能ではありません。1語あたりのログ取得は初期値で1000件、セッション200件、後続ログ2000件に制限し、語の長さは2〜50文字です。登録件数は関連クエリーキャッシュの上限にも従います。処理は同期実行で同時実行を拒否するため、大量のログがある場合は期間と件数を絞って実行してください。
ゼロヒット率が高いからといって、関連語の追加だけで解決するとは限りません。クロール対象や文書の閲覧権限、必要なコンテンツが存在するかも、ログを手がかりに確認するとよさそうです。
利用できるバージョン
Fess 15.9.0に含まれる予定の機能になります。現時点では、まだ、リリースしていないので、今後のテストで変更される可能性もあります。