[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:19798] Plamo なファイルを検索くん



鴨澤です。

ずっと前にご好評いただき気味だった http://plamo.minidns.net/ (←最近 DNS が
死に気味なので、アクセスできないときは少し待ってからリロードしてください)の
全ファイル、全パッケージから検索する機能ですが、ようやくローカル環境でも
使えるコマンドに仕立てられました。

興味のある方、

http://plamo.minidns.net/packages.shtml

の一番上にある lacking というパッケージと、その下にある Sary という
パッケージを使ってみてくださいませ。

lacking は検索コマンドで、

 $ lacking 足りないファイル

とやるだけで、そのファイルを含むパッケージを表示します。
対象は Plamo のインストール、contrib に入ってる全ファイルです。

lacking は、ファイル=パッケージ対応リストを検索するコマンドです。
対応リストを grep で検索することもできますが、涙が出るほど遅いのと、
使い勝手を考えて独立コマンドとしました。

これは試作バージョン2で、Sary を必要とするようになりました。
Sary は Suffix Array というインデックス構造を扱うパッケージです。
高速全文検索に便利なデータ構造ですが、lacking ではファイル名のみを
対象にインデックスを作っているので、パッケージからの逆引きなどには
対応していません。これはインデックスファイルのサイズの問題です。

ちなみに試作バージョン1 は awk スクリプトで、grep よりは10倍速いんですが、
sary を使うとさらに10倍近く速くなるので、これを使ってみました。

パッケージは、このコマンド本体と、Plamo の各バージョンに合わせた対応リストを
組み合わせたものです。

まだまだ試作品なので、いくらか問題があります。

・対応リストのファイルが巨大
  配布パッケージでは圧縮してありますが、インストールすると膨れ上がります。
  これは sary が圧縮データを扱えないためです。
  gzip 圧縮したまま zgrep で検索をかけても遅くならないようなマシンなら、
  その方が良いかもしれません。
・ファイル名からの検索しか出来ない
  上でも書いた通り、全文検索はされないので、パッケージ名からファイルを
  逆引きできません。
・我が家でのみ動作確認済み
  インストールテストはしてみてありますが、本当にこれだけで動くという
  確信がありません。

というわけで、もし使ってみられた方がいらっしゃれば、ぜひご意見、
ご感想をお寄せいただけるとありがたいです。

よろしくおねがいします。

鴨澤眞夫

Follow-Ups
[plamo:19822] Re: Plamo なファイルを検索くん, KAMOSAWA, Masao

[検索ページ] [メール一覧]
Plamo ML 公開システム