Ubuntu Weekly Recipe

第482回GNOMEの全文検索機能を使用する

今回はGNOME組み込みの全文検索エンジンであるTrackerの使い方を解説します。

全文検索の利便性

自分で書いたドキュメントはファイル名を見ればだいたい内容を思い出せますが、まれにどうしても思い出せないことがあります。テキストファイルであればgrepを使えば検索できますが、LibreOffice Writerで作成したドキュメントではそうはいきません。

また、雑誌のバックナンバーをPDFで購入し、その検索を行いたいこともよくあります。

そのような場合全文検索エンジンを使うと便利で、世の中にたくさんありますが、構築が大変だったりします。そのような場合、GNOMEに組み込まれている全文検索エンジンであるTrackerを使うと便利です。というわけで今回はそのTrackerの使い方を解説します。

今回使用したのはUbuntu GNOME 17.04のGNOME 3.24です。

サンプルドキュメント

今回使用するサンプルドキュメントは第476回の記事のもとになったテキストファイル(Markdown形式)とそれをOpenDocument形式(ODF)にしたもの、さらにそれをLibreOffice WriterでPDFに変換したものです。すなわち3つのファイルフォーマットですが内容は同じです。ファイル名はsnap-nextcloudにそれぞれの拡張子を付けたものです。

3つのファイルは、ホームフォルダー直下にある「ドキュメント」フォルダーに置きます。

基本的な設定

検索に関する基本的な設定は[設定⁠⁠-⁠検索]で行います図1⁠。全体的に検索を行うかどうかと、個々のアプリケーションの検索のオンオフと検索順位を設定できます。右下のギアアイコンをクリックすると、検索する場所(フォルダー)を設定できます図2⁠。⁠その他]タブで好きなフォルダーを追加できます図3⁠。

先ほど[ドキュメント]フォルダーにファイルを置いたのは、検索する場所に入っているからです。

図1 検索の基本的な設定
画像
図2 検索する場所
画像
図3 下の[+]をクリックして任意のフォルダーを追加できる
画像

基本的な検索

GNOME Shellのアクティビティ画面の上部に[検索ワードを入力]という欄があり、ここで検索するキーワードを入力します。原則としてはファイル名を検索しますが、PDFファイルは全文検索もできます。図4はファイル名で検索、図5は内容で検索し、2つ検索結果が表示されています。上をクリックすると[ドキュメント (GNOME Documents)]が起動し、PDFファイルを開くことができますが、下をクリックしても何も起きません[1]⁠。

図4 ファイル名の一部で検索した
画像
図5 ドキュメントに含まれる文字列で検索した
画像

詳細な設定と検索ツール

GNOMEソフトウェアで[desktop search]と検索すると[Desktop Search]がヒットするので、これをインストールします。コマンドラインからインストールする場合は次のとおりです。

$ sudo apt install tracker-gui

インストール後、⁠検索とインデックス生成]を起動します。実行ファイル名はtracker-preferencesです。⁠設定][検索]と比較すると、より細かな設定が行なえます図6⁠。⁠無視するデータ]タブでインデックス化したくないパターンを登録しておくといいでしょう図7⁠。

図6 ⁠フォルダー]タブでは再帰処理を行うかどうかも選択できる
画像
図7 ⁠無視するデータ]タブでは、インデックス化したくないファイルのパターンを登録できる
画像

[デスクトップの検索]ではテキストファイルやODFファイルでも全文検索ができます図8⁠。実行ファイル名はtracker-needleです。検索欄の左側3つのアイコンは表示モードの切り替えです。検索欄のすぐ横の♥アイコンはタグ操作パネルで、一番右端のアイコンはインデックスの統計情報です。

図8 ⁠デスクトップの検索]で検索したところ。図5とは違い、3つのファイルにヒットしている
画像

タグ付け

検索対象となるファイルにはタグを付けることができます。大量にファイルがある場合は区別が付きやすくなっていいのではないでしょうか。

タグを付ける方法はいくつかあります。ひとつは[デスクトップ検索]でタグ操作パネルを表示し、検索結果のファイルにタグを付けていく方法図9です。また、tracker-guiをインストール後、ファイルマネージャのNautilusでタグを付けたいファイルを右クリックして[プロパティ]を開き、⁠Tags]というタブでもタグを付けられます図10⁠。

図9 ⁠デスクトップ検索]でのタグ付け
画像
図10 ファイルマネージャでのタグ付け
画像

いずれもタグの付け方は同じで、付けたいタグを入力して[追加]あるいは[+]ボタンをクリックします。併記されるテキストの一覧はタグ一覧で、そのタグがついている場合はその横にチェックが入ります。

ほかにもコマンドラインからタグを付ける方法もあります。それは後ほど紹介します。

コマンドラインで使用する

Trackerはコマンドラインでも使用することができます。まずはTrackerの状態を確認してみましょう。

$ tracker status
Currently indexed: 25 files, 10 folders
Remaining space on database partition: 5.8 GB (45.92%)
All data miners are idle, indexing complete

簡単な検索例は次のとおりです。

$ tracker search 初期設定
結果:
  file:///home/ikuya/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/snap-nextcloud.md
  ...初期設定 前...

  file:///home/ikuya/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/snap-nextcloud.odt
  ...初期設定 前...

  file:///home/ikuya/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/snap-nextcloud.pdf
  ...初期設定 https...

図8と同じ結果になっています。

タグで検索する例は次のとおりです。

tracker tag -t -s PDF
タグ (名前順):
  PDF 
    file:///home/ikuya/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/snap-nextcloud.pdf

タグ一覧は次のコマンドで表示できます。

$ tracker tag -t
タグ (名前順):
  OpenDocument 
    urn:uuid:408c8515-fb94-04d0-3e74-1630b47b37b4
    1 file
  PDF 
    urn:uuid:857013b8-8f45-9db1-9e99-f20bf52ea643
    1 file
  markdown 
    urn:uuid:c5c53d6a-1d16-ed95-9055-6dfe03cae47e
    1 file

タグを追加する例は次のとおりです。

$ tracker tag -a text ドキュメント/snap-nextcloud.md
タグの追加が完了しました
  タグ付き: file:///home/ikuya/%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/snap-nextcloud.md

Trackerの動作がおかしくなり、インデックスを再作成する方法は次のとおりです。

$ tracker reset -e
$ tracker daemon -s

Trackerコマンドのヘルプは、次の方法で表示できます。

$ tracker --help

サブコマンド(ここではreset)のヘルプは、次の方法で表示できます。

$ tracker help reset

サポートするファイル

TrackerでサポートするファイルはSupported File Formatsに掲載されています。基本的にはconfigureのオプションで決定されるため、各Linuxディストリビューションのパッケージによって異なることが考えられます。

Ubuntuのパッケージを調査してみたところ、ISOイメージとIPTCメタデータを除いて概ね対応していることがわかりました。

おすすめ記事

記事・ニュース一覧