Windows7でのPDFファイル内容の検索

64bitのwindows7の検索では、そのままではPDFの内容の検索結果が入手できない。
まあ、vistaの時からそうだったようだし、adobeが対応しないためというところもあるようだ。32bitまでについては、Adobe Acrobat Reader にiFilterをバンドルしていた、とadobeも書いている。"Adobe currently bundles a 32-bit PDF iFilter with Adobe Acrobat 9 as well as free Adobe Reader 9 software."https://www.adobe.com/support/downloads/detail.jsp?ftpID=4025

今までは、ストレスを感じながら我慢していたが、今日は何とか検索できるようにしたいと思った。
そもそもどのようなIFliterが導入されているかを調べるために、CiteknetからIFilter Explorer をダウンロードし、動かしてみる。
http://www.citeknet.com/Products/IFilters/IFilterExplorer/tabid/62/Default.aspx
確かにAdobeのpdfを対象するIFiterは出てこないので、adobeのサイトからダウンロードしてインストール。
https://www.adobe.com/support/downloads/detail.jsp?ftpID=4025
しかし、それでもやはり検索できない。
インデックスを作っていないせいかとも思い、フォルダと検索のオプション(explorerの整理から)の検索タブから、「インデックスが作成されている場所で、ファイル名と内容を検索する」というオプションではなく「ファイル名と内容を常に検索する」というオプションを選び、インデックスなしでも検索してもらうようにした(つもり)。
それでも検索されないので、再度、同様のタブの「ファイルシステムのファイル、フォルダーの検索時にインデックスを使用しない」というオプションにチェックを入れてみたところ、検索されるようになった。
勿論、インデックスを使っていないので、検索対象が多い場合には非常に遅い。インデックスを使用するセッティングにしても抑もインデックスを作っていないのでインデックスを利用した検索は実際はできず遅くとも地道に検索するしかないのだが。

なお、acrobat用のIFilterは、foxitからも提供されている。
サーバー用のものは有料だが、デスクトップ版はユーザ登録すれば無料で無期限試用できる。
こちらの方が3倍速い、と自ら言っています。
http://www.foxitsoftware.com/pdf/ifilter/

インデックスのオプションは、コントロールパネルを開き、右上の検索ボックスにindexと入れると表示される。
他の表示させ方もあるのだろうが(ないのかもしれないが)、見つけることができなかった。
何となく私としてはしっくりこない起動の仕方ではある。尤も、こうした操作に慣れれば、一貫しており使いやすいと言うことになるのかもしれない。
さて、インデックスのオプションを開くと、インデックスを作成する場所が表示される。
また、下の方にある「詳細オプション」のボタンを押すと、「インデックスの設定」「ファイルの種類」の2つのタブが出てくる。
この「ファイルの種類」でインデックスするファイルの種類の設定ができる。それぞれのファイルタイプに対応しているIFilterも表示される。
foxitのIFilterをインストールすると、ここでfoxit pdf filterがpdfについて表示される。pdfxmlについてはpdf filter、pdxについては、ファイルプロパティのフィルターと表示される。
インデックスの作成はやはりかなり負荷のかかる作業で、半分くらい使用している500Gの外付けハードディスクをインデックス対象に含めたところ、数時間CPUの使用率が100%近くで推移している。

どうもwindows7の検索は、インデックスを利用した場合にはインデックス作成後に検索対象フォルダに収納されたファイル(つまりインデックスされていないファイル)は検索しない、という仕様になっているようだ。この為、あるはずなのに検索されないファイルが生じてしまうようだ。尤も、windows desktop search を利用していた場合にはこれまでも同様の仕様であったのかもしれないが、私はこれまで使っていなかったのでこのような検索されないものが出てくる、ということには違和感があった。
今回のwindows7 64bit版では、「ファイルシステムのファイル、フォルダーの検索時にインデックスを使用しない」というオプションを使い、かつインデックス作成対象フォルダを限定することで、従来XPで使っていた検索(windows desktop search を利用しない検索)とほぼ同様に漏れのない検索が可能な環境を実現することはできるのかもしれない。

参考までだが、adobeでは、pdfファイルのサムネールを表示する機能は64bit版windowsには対応していない、と言っている(2010-11-1アップデートのページなので古いが、現在でもそのままになっている。)。
http://kb2.adobe.com/jp/cps/461/4617.html
これを修正するプログラムも提供してくれている方がいる。
それにしても、この程度のバグをなぜadobeが放置している(放置していた)のか不思議に思える。
http://www.pretentiousname.com/adobe_pdf_x64_fix/
ただ、これのページを見ると、Acrobat Reader9.3.2以降は修正されているようだ。
私のAcrobat Reader は9.4.2で、確かにサムネールが表示されないと言うことはない。

一応PDFも検索できるようになったので、まあよかった。