以前から書いてるインデックスサービスを使ったファイル検索について。
C#を使うとすぐに接続→検索できるっていうのは以前に書いたとおり。
で、下図がその画面。
Macぽい画面なのは、私が単にそういうテーマにしているだけで、きちんとC#で書いているし、.NETFramework3.xで動いている。(開発環境はVC#2008)
検索する文字列にもよるけれど、おおむね2秒前後で検索結果が返ってくる。
スタートメニューから呼び出すファイル検索とは偉い違いだ。
それでいて、ある程度満足いく検索結果が出てきているので、もう少し応用したらいろいろ使えそう。
個人的には、MacのSpotlightやGoogle Desktop Searchみたく、インクリメンタルなサーチができると良いなと思っているけど、中ではSQL文を投げているわけだから、そんなに良い性能を得られるとは考えていない。
というわけで、検索文字列を入力→検索ボタンで検索→検索結果が一覧表示っていう、locateコマンドのGUI版みたいなつくりになりそうだ。
ただ、使っているOledbconnectionとかそのあたりのオブジェクトは別にGUIに依存しているわけではないので、CUI版にも応用できれば、Windows版locateコマンドが作れてうれしいかななんて思っていたりもする。でも、このへんにチャレンジするのはもう少しいじってみてから。
それから、インデックスサービスがCPUの能力を喰うためにインデックスサービスを止めているから、この手のソフトを利用できないって人は、インデックスサービスのタスクから、パフォーマンスの調整をして、少しインデックスの作成に関するパフォーマンスを落としてみればいいと思う。
まぁ、パフォーマンスを落とせば、この手のソフトの動きも悪くなるわけだけれども、検索結果として導出されるものは、さほど気にならない程度の変化だと思う。
逆に、CPUのパワーを喰わなくなるので、この手のソフトとの共存を考えている人にはいいかもしれない。
それにしても、C++でやっていたのが実にバカらしい。
(なんて思いつつも、少し悔しかったりするんだよね。HelperAPIに関してはPlatformSDKにサンプルが付いているようだから、気力が持てばそっちの解析もやってみたいな。)
0 件のコメント:
コメントを投稿