多段階検索(Drill-down)の続報です。同じタブUIに、もうひとつのモード シーケンシャル検索(Sequence Search) を実装しました。
「順番」で探す、とはどういうことか
多段階検索は「近くに一緒に現れる語」を探しました。シーケンシャル検索が探すのは順序です。w1 → w2 → w3 が、この順で現れる箇所だけを拾います。
ログ調査で言えば、「ログイン → タイムアウト → 再起動」がこの順で並んだ箇所だけが欲しい、という場面です。and/or の検索では「3語とも含む」までしか絞れませんが、障害の物語には順序があります。順序が違えば、それは別の事件です。
セキュリティ分野では Elastic EQL の sequence、Splunk の transaction がまさにこの機能ですが、どちらもサーバーに取り込んだデータが対象。手元の数十GBのファイルに対して、デスクトップ単体でこれをやれるツールはほぼ存在しません。
実例:1億行から「東京→横浜→中町」の流れを60件に
冒頭のスクリーンショットは、OpenStreetMap 日本全域を展開した 1億行 のXMLです。
東京 (21,948) → 横浜 (874) → 中町 (60)
「東京」は21,948箇所。そのうち「後に横浜が続く」ものが874箇所。さらに「その後に中町が続く」流れは 60件。使い方は多段階検索と同じで、絞り込みバーのモードを「シーケンシャル」に切り替えて語を重ねるだけです。
途中でより前の語が再登場した場合は、そこから数え直します(東京→横浜のあとにまた東京が来たら、照合は新しい東京からやり直し)。つまり残るのは「割り込みのない、素直な流れ」だけです。
経路がそのまま見える —「履歴」メニュー
今回の実装で気に入っているのが、結果の右クリックメニューです。
履歴(絞り込みの経路) を開くと、そのシーケンスを構成した各語の位置——たとえば「行 711,638: 東京 → 行 713,709: 横浜 → 行 713,987: 中町」——が並び、どの行からでも本文へジャンプできます。
「なぜこの行がヒットしたのか」を、検索エンジンの中身を想像して推理する必要がない。成立した流れの経路そのものを見て、たどれる。 EQL や Splunk でも、ここまで直接的な見せ方はしません。
速度の話
シーケンシャル検索の各段は、前段の結果位置を開始点として本文を検索します。開始位置こそ絞られますが、処理そのものは全文検索と同等のため、所要時間も全文検索とほぼ同じです。多段階検索の「2段目以降は即時」とはここが異なります(多段階は前段の±N文脈ブロックの中だけを再検索するため)。±N(前後の文脈行数)が段ごとに独立なのは多段階検索と同じです。
入手
多段階検索・シーケンシャル検索は 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
※スクリーンショットのタイトルバーの「UwEditor Pro」は、UwView Pro の「Edit Upgrade」ライセンス(V1.4.0〜)の計測時のビルド名です。元ファイルを書き換えない差分編集(全置換・中断・再開)を View ライセンスに追加できます。

