(2021-06-22 初稿 - )
LinuxでPDF等の全文検索をするコマンドは、namazu、beagle等が有名だが、今は開発が停滞中とか…
探してみると、筆者の使っているDebianにはrecollというコマンドがあった。
Recollは、テキスト、HTML、OpenOffice.orgドキュメント、メールメッセージ、PDFファイル、Word、PowerPoint、Excel等のファイルが検索できる。
さっそく、以下のとおりインストール。
sudo apt install recoll
なんと、python-recollやpython3-recollも同時にインストールしてくれた。
(pythonからの使い方は、わかれば後日追記する。)
メニューから「アクセサリ」、「Recoll」を選択するか、ターミナル上で「 recoll &」で起動。
起動すると、以下の画面が出てindexの作成方法について聞かれる(後でも変更できるのでお気楽に)。
筆者は、デスクトップやノートPCではリアルタイム、サーバではCronでスケジューリングすることにした。
冒頭にrecollが検索可能なファイル一覧を示したが、現状で検索できないファイルの一覧が ~/.recoll/missing の中に書かれている。
筆者の手元では、以下のとおり。
$ cat .recoll/missing Perl::Image::ExifTool (image/jpeg) python:mutagen (audio/mpeg) python:rarfile (application/x-rar)
それぞれ、以下のパッケージをインストール(sudo apt install xxxx)すれば検索できるようになる。
libimage-exiftool-perl python3-mutagen (python-mutagen) python3-rarfile (python-rarfile)
少しだけ使ってみたが、そこそこ速いと思った。これなら、モバイルPCでも十分に使えそう。
Tips
どうも英語力が乏しくて、なかなかmanコマンドで読みきれない。(滝汗)
なので、Webサイトに行って、少しだけ読んでみた。
特に注目したのは、「3.1.1. Simple search」と「3.6. The query language」の部分ね。
なんとなくわかったことだけメモ。^^;
- Query language 普段の検索は、これを使うといい。言葉で検索するくらいの意味
- Any term OR検索
- All terms AND検索
- File name ファイル名検索
Query lanuageだけ、少し詳しく。
- 日本語 英語 ⇒ 日本語と英語のAND検索 スペースはAND検索
- 日本語 OR 英語 ⇒ 日本語 または 英語 ORは大文字でちゃんと書く
- 日本語 英語 -スペイン語 ⇒ 日本語と英語が含まれており、スペイン語は含まれない
- "John Lennon" ⇒ JohnとLennonが順番に一つの単語として検索する
あとCUI大好きな筆者としては、「-t」オプションを付けるとCUIで検索できる点もポイントが高い。
recoll -t -q [SearchWord]
皆さんも、便利だから使ってみてね。