第22回 検索データから組織の知識地図を描く -- 分析ダッシュボードで見る情報活用の実態

はじめに

検索システムは情報を「見つける」ためのツールですが、検索ログ自体も貴重な情報源です。 「何が検索されているか」「何が見つからないか」「どの情報がよく閲覧されるか」――これらのデータは、組織の情報ニーズと知識ギャップを映し出す鏡です。

本記事では、Fess の検索ログと OpenSearch Dashboards を組み合わせて、組織のナレッジ活用状況を可視化する分析ダッシュボードを構築します。

対象読者

  • 検索システムの利用状況を定量的に把握したい方

  • 情報活用戦略のためのデータを収集したい方

  • OpenSearch Dashboards の基本操作を知りたい方

検索データの価値

検索ログから読み取れること

検索ログは、組織の情報ニーズを定量的に把握できる希少なデータです。

検索データから得られるインサイト
データ インサイト
検索キーワード 社員が何を探しているか(情報ニーズ)
ゼロヒットクエリ 組織に不足している情報(知識ギャップ)
クリックログ どの検索結果が役立ったか(コンテンツの価値)
検索頻度の時系列 情報ニーズの変化(トレンド)
人気ワード 組織全体の関心事

Fess が収集するデータ

Fess は以下のデータを自動的に収集・蓄積しています。

検索ログ(fess_log.search_log

管理画面の [システム情報] > [検索ログ] で確認できます。 OpenSearch のインデックス fess_log.search_log に保存されます。

主なフィールド:

フィールド名 説明
searchWord keyword 検索キーワード
requestedAt date 検索日時
hitCount long 検索結果件数(0 の場合がゼロヒット)
queryTime long クエリ実行時間(ミリ秒)
responseTime long 合計レスポンス時間(ミリ秒)
userAgent keyword ユーザーエージェント
clientIp keyword クライアント IP アドレス
accessType keyword アクセス種別(web, json, gsa, admin など)
queryId keyword クエリ ID(クリックログとの紐付けに使用)

クリックログ(fess_log.click_log

検索結果のリンクがクリックされた記録です。 OpenSearch のインデックス fess_log.click_log に保存されます。

フィールド名 説明
url keyword クリックされた URL
queryId keyword 検索ログの queryId(どの検索からクリックされたか)
order integer 検索結果内の表示順位
requestedAt date クリック日時
docId keyword ドキュメント ID

人気ワード

検索画面に表示される人気ワードは、検索ログを基に Fess の suggest インデックスに集計されます。 一定の検索ヒット数を超えたクエリが、検索回数に基づいてランキングされます。

OpenSearch Dashboards での可視化

Fess の検索ログは OpenSearch に保存されるため、OpenSearch Dashboards を使って高度な可視化が可能です。

OpenSearch Dashboards のセットアップ

Docker Compose 構成に OpenSearch Dashboards を追加します。

services:
  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:3.6.0
    ports:
      - "5601:5601"
    environment:
      OPENSEARCH_HOSTS: '["http://opensearch:9200"]'
      DISABLE_SECURITY_DASHBOARDS_PLUGIN: "true"

http://localhost:5601 にアクセスして、Dashboards の UI を利用します。

インデックスパターンの作成

OpenSearch Dashboards で Fess のログデータを可視化するには、まずインデックスパターンを作成します。

  1. Dashboards にアクセスし、左メニューから [Stack Management] > [Index Patterns] を選択

  2. [Create index pattern] をクリック

  3. 以下のインデックスパターンを作成

インデックスパターン 時刻フィールド 用途
fess_log.search_log requestedAt 検索ログの分析
fess_log.click_log requestedAt クリックログの分析

ダッシュボードの設計

以下の分析視点でダッシュボードを設計します。 左メニューの [Visualize] から各ビジュアライゼーションを作成し、[Dashboard] にまとめます。

検索利用状況の概要

日別検索回数の推移

検索の利用量がどう変化しているかを把握します。

  • インデックスパターン: fess_log.search_log

  • ビジュアライゼーション: Line(折れ線グラフ)

  • X 軸: Date Histogram(フィールド: requestedAt、間隔: 1d)

  • Y 軸: Count

利用が増加していれば検索システムが定着している証拠であり、減少していれば改善が必要です。

時間帯別検索回数

検索が多い時間帯を把握します。

  • ビジュアライゼーション: Vertical Bar(棒グラフ)

  • X 軸: Date Histogram(フィールド: requestedAt、間隔: 1h)

  • Y 軸: Count

業務開始時や昼食後に検索が多い場合、情報収集が業務の一部として定着していることがわかります。

検索品質の分析

ゼロヒット率の推移

ゼロヒット率は検索品質の重要な指標です。 検索ログの hitCount フィールドが 0 のレコードがゼロヒットクエリに該当します。

  • インデックスパターン: fess_log.search_log

  • フィルタ: hitCount: 0 を追加してゼロヒットクエリを抽出

  • ビジュアライゼーション: Line(折れ線グラフ)

  • X 軸: Date Histogram(フィールド: requestedAt、間隔: 1d)

  • Y 軸: Count

ゼロヒット率が高い場合、シノニムの追加やクロール範囲の拡大が必要です(第8回参照)。

なお、管理画面の [システム情報] > [検索ログ] でも、ゼロヒットクエリの一覧を確認できます。

ゼロヒットクエリのワードクラウド

ゼロヒットクエリをワードクラウドで表示すると、どのような情報が不足しているかが一目でわかります。

  • フィルタ: hitCount: 0

  • ビジュアライゼーション: Tag Cloud

  • フィールド: Terms Aggregation(フィールド: searchWord、サイズ: 50)

コンテンツの価値分析

クリック数の多い検索結果

よくクリックされる検索結果は、組織にとって価値の高いコンテンツです。

  • インデックスパターン: fess_log.click_log

  • ビジュアライゼーション: Data Table

  • フィールド: Terms Aggregation(フィールド: url、サイズ: 20、並び順: Count 降順)

これらのコンテンツの更新・メンテナンスを優先しましょう。

クリック位置の分布

検索結果の何番目がクリックされているかの分布を確認します。

  • インデックスパターン: fess_log.click_log

  • ビジュアライゼーション: Vertical Bar(棒グラフ)

  • X 軸: Histogram(フィールド: order、間隔: 1)

  • Y 軸: Count

1〜3位のクリックが多ければ検索品質は良好、10位以降のクリックが多ければランキングの改善が必要です。

情報ニーズの傾向分析

人気キーワードのランキング

組織全体で何に関心があるかを把握します。

  • インデックスパターン: fess_log.search_log

  • ビジュアライゼーション: Data Table

  • フィールド: Terms Aggregation(フィールド: searchWord、サイズ: 20、並び順: Count 降順)

人気キーワードの変化は、組織の課題や関心事の変化を反映します。

分析結果の活用

検索データの分析結果は、以下のような施策に活用できます。

コンテンツ戦略

  • ゼロヒットクエリ: 不足しているコンテンツを特定し、作成を依頼

  • 人気キーワード: よく検索されるトピックの情報を充実させる

  • クリック率の低い結果: コンテンツの改善または削除を検討

検索品質の改善

  • シノニムの追加: ゼロヒットクエリから同義語候補を発見

  • キーマッチの設定: 人気クエリに対する最適な結果を設定

  • ブーストの調整: クリック率に基づいてランキングを改善

IT 投資の判断

  • 利用量の増加: サーバーリソースの増強計画

  • 新しい情報ニーズ: 追加のデータソース連携の検討

  • AI 機能のニーズ: AI 検索モードの導入判断(第19回参照)

定期レポートの作成

分析結果を定期的にレポートとしてまとめ、関係者に共有しましょう。

月次レポートの項目例

  1. 検索利用状況のサマリ(総検索回数、前月比)

  2. ゼロヒット率の推移と改善状況

  3. 人気キーワード Top 10

  4. 新しく発見された知識ギャップ

  5. 実施した改善策とその効果

  6. 次月の改善計画

まとめ

本記事では、検索ログを活用した組織のナレッジ可視化について解説しました。

  • 検索ログから得られるインサイト(情報ニーズ、知識ギャップ、コンテンツ価値)

  • OpenSearch Dashboards による可視化ダッシュボードの構築

  • 分析結果のコンテンツ戦略・検索品質改善・IT 投資への活用

  • 定期レポートによる継続的な改善

検索データは「組織の知識地図」を描くための貴重な資産です。 AI・次世代検索編はここまでです。次回は最終回として、シリーズ全体の総括を行います。

参考資料