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

