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に広げてじっくり読む、という使い方ができます。スクリーンショットの最終段がまさにそれです。
  • 各タブで従来どおり本文へのジャンプ・別ファイル保存が使えます。

どの語で、どの行から来たのか —「履歴(絞り込みの経路)」

多段階検索の結果一覧を右クリックして「履歴(絞り込みの経路)」を開いた画面。Tokyo (10,967) → Ariake (7) → 有明 (4) と絞り込んだ経路が、行番号付きで並んでいる

段を重ねていくと、「いま見ているこの行は、そもそもどの語で拾われたのか」が分からなくなりがちです。UwView Pro では、結果一覧の行を右クリック →「履歴(絞り込みの経路)」 を開くだけで、その行に至るまでに通った各段の語と行番号が順番に並びます。

上のスクリーンショットは Tokyo (10,967) → Ariake (7) → 有明 (4) と3段まで重ねたうちの、2段目(Ariake)のタブで右クリックしたところです。履歴には 「行 320,574,475: Tokyo」→「行 320,574,475: Ariake」 と、通ってきた経路がそのまま出ています。一覧のどの項目からでも本文の該当行へ移動できるので、経路をさかのぼって確かめるのにタブを行き来する必要がありません。

シェルのパイプで同じことをすると、途中の結果は標準出力に流れて消えてしまい、「この行はどの grep が拾ったのか」は後から辿れません。絞り込みの経路が結果と一緒に残る——調査の条件そのものが成果物になる場面では、ここが効きます。

klogg の Boolean 検索との違い

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

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

入手

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

UwView Pro は Polar で販売中です(V1.4.0 で編集機能の Edit Upgrade が加わりました)。どのライセンスも14日間の無料試用ができます(Polar で試用キーを発行・支払い情報は不要です)。

  • UwView Pro — View ライセンスを購入(Polar・買い切りと月額の2通り・14日間無料試用。価格は製品ページ): https://buy.polar.sh/polar_cl_37MuoKb8WjSfLZ7hhjaTTzwAVBxu2XyqbnuWe3aGzbj
  • UwView Pro — Edit Upgrade(買い切りと月額の2通り・View ライセンスが必要): https://buy.polar.sh/polar_cl_JTfnSNp9cywCIKbvOMMzRuqdeUvw4T9bMrIZ53dMJQ1
  • UwView Pro (Edit) — 14日間の無料試用(View+Edit の全機能・キーは発行14日で失効): https://buy.polar.sh/polar_cl_Iidw8Bhz2KibMCWLMKYPT04MqdqTixrdUkQ630Im06l
  • UwView Pro 製品ページ: https://uvp.y42u.net/pro/
  • 無料版 UwView: https://github.com/amru195704/UwView

関連記事

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