9万件のヒットを2回の絞り込みで54件に — UwView Pro に「多段階検索」を実装しました

リリース

UwView Pro多段階検索(Drill-down Search) を追加しました。検索結果の一覧を、さらに別の語で絞り込み、それをまた別の語で絞り込む——最大8段まで重ねられます。

ログ調査の定番、あの「grep のパイプ」です

大きなログを調べるとき、コマンドラインではこう書きます。

grep -C 5 "ERROR" huge.log | grep "timeout" | grep "db-server3"

「ERROR の前後5行に timeout があって、さらに db-server3 が絡む場所」。このパイプでつなぐ絞り込みを、UwView Pro は GUI のタブでやります。

使い方は簡単で、いつもの検索をすると結果一覧がポップアップに出ます(ここまでは無料版と同じ)。Pro ではその一覧の上に絞り込みバーがあり、次の語を入れて「絞り込む」を押すと、前の結果の±N行の範囲だけを対象に再検索した新しいタブが増えます。タブには 語 (件数) が並ぶので、絞れていく手応えが数字で見えます。

実例:51GB・8.9億行から「3つの語が交差する場所」を探す

OpenStreetMap 日本全域(51GB・8.9億行のXML)で試した実際の画面が冒頭のスクリーンショットです。

東京 (94,979) → 練馬 (184) → 埼玉 (54)

「東京」だけでは9.5万件。そこに「練馬」を重ねると184件、「埼玉」で54件。2回の絞り込みで、9万件が54件になりました。 そして54件を眺めると——「東京都道・埼玉県道24号練馬所沢線(目白通り)」。東京・練馬・埼玉の3語すべてが絡む道路が、8.9億行の中から浮かび上がりました。

ポイントは3つあります。

  • 2段目以降は一瞬。対象が前段の結果周辺だけに絞られるので、初段の全文検索(これも数秒〜十数秒)以外は待ち時間がありません。
  • ±N(前後の文脈行数)は段ごとに独立。途中の段は±1で締めて、最後の段だけ±10に広げてじっくり読む、という使い方ができます。スクリーンショットの最終段がまさにそれです。
  • 各タブで従来どおり本文へのジャンプ・別ファイル保存が使えます。

klogg の Boolean 検索との違い

klogg には and/or の Boolean 検索がありますが、あれは同一行内の論理です。多段階検索は行を跨いだ「近傍の共起」を探せます。ログの実際の調査では、手がかりは1行に揃っていないことがほとんどなので、ここが効きます。

さらに、同じタブUIで シーケンシャル検索(Sequence Search)——「w1→w2→w3 がこの順で現れる流れ」を検出するモード——も搭載していきます。こちらは Elastic EQL の sequence や Splunk の transaction に相当する機能で、デスクトップ単体・数十GBのファイルでやれるツールはほぼ存在しません。続報で紹介します。

入手

多段階検索は UwView Pro V1.3.0 に搭載され、リリース済みです。無料版 UwView でも従来の1段検索・±1文脈・保存は使えます。

UwView Pro V1.3.0 は Polar で販売中です。月額サブスクリプションは初月無料でお試しいただけます(買い切りに無料トライアルはありません)。

  • UwView Pro を購入(Polar・買い切り $129 / 月額 $9・初月無料): https://buy.polar.sh/polar_cl_37MuoKb8WjSfLZ7hhjaTTzwAVBxu2XyqbnuWe3aGzbj
  • UwView Pro 製品ページ: https://uvp.y42u.net/pro/
  • 無料版 UwView: https://github.com/amru195704/UwView

関連記事

タイトルとURLをコピーしました