ひゃまだのblog

ひゃまだ(id:hymd3a)の趣味のブログ

Recollで全文検索

(2021-06-22 初稿 - )

LinuxでPDF等の全文検索をするコマンドは、namazu、beagle等が有名だが、今は開発が停滞中とか…

探してみると、筆者の使っているDebianにはrecollというコマンドがあった。

Recollは、テキスト、HTML、OpenOffice.orgドキュメント、メールメッセージ、PDFファイル、Word、PowerPointExcel等のファイルが検索できる。

f:id:hymd3a:20210622190440p:plain

Recollで全文検索

さっそく、以下のとおりインストール。

sudo apt install recoll

なんと、python-recollやpython3-recollも同時にインストールしてくれた。
pythonからの使い方は、わかれば後日追記する。)

メニューから「アクセサリ」、「Recoll」を選択するか、ターミナル上で「 recoll &」で起動。

起動すると、以下の画面が出てindexの作成方法について聞かれる(後でも変更できるのでお気楽に)。

f:id:hymd3a:20210622190204p:plain

最初の起動直後の設定画面

筆者は、デスクトップやノートPCではリアルタイム、サーバではCronでスケジューリングすることにした。

f:id:hymd3a:20210622190405p:plain

リアルタイムでindex作成をする

冒頭に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だけ、少し詳しく。

  1. 日本語  英語   ⇒  日本語と英語のAND検索  スペースはAND検索
  2. 日本語 OR 英語 ⇒ 日本語 または 英語 ORは大文字でちゃんと書く
  3. 日本語 英語 -スペイン語 ⇒ 日本語と英語が含まれており、スペイン語は含まれない
  4. "John Lennon"  ⇒ JohnとLennonが順番に一つの単語として検索する

あとCUI大好きな筆者としては、「-t」オプションを付けるとCUIで検索できる点もポイントが高い。

recoll -t -q [SearchWord]

皆さんも、便利だから使ってみてね。

関連ページ