Spotlight

提供: MacWiki
移動: 案内, 検索

目次

[編集] Spotlight とは?

Mac OS Xの検索エンジン。ローカルファイルが対象。

[編集] 標準の検索対象

標準の検索対象の種類 (kind:...).

  • pdf
  • email
  • Web アーカイブ
  • Safari 履歴項目
    • Safariで訪れたwebページは履歴化され検索対象となるが,Safariで開いたpdfファイルは非対象.
  • プレーンテキスト(日本語はShift_JIS および UTF-16 のみ対応。MacOSX 10.7 では UTF-8 も対応)
  • htmlファイル(日本語はShift_JIS および UTF-16 のみ対応。MacOSX 10.7 では UTF-8 も対応)
  • texファイル(MacOSX 10.7 以降。日本語は UTF-8 のみ対応)
  • その他いろいろ

参考情報(外部)→ Spotlight例文辞典

[編集] 標準の検索範囲

標準の検索方法と,その検索ディレクトリ範囲について.(MacOSX 10.6.4 で確認)

  • 方法1. Finderウィンドウ(フォルダウィンドウ)のタイトルバー直下領域の検索欄を用いる.
    • 2種類の検索範囲を選択可能:
      • (1) このMac内,若しくは
      • (2) 現在のウィンドウフォルダ内
    • この場合「Safari履歴項目」は検索されない
  • 方法2.メニューバーのSpotlightアイコンから呼び出す.
    • 2種類の検索範囲を選択可能:
      • (1) このMac内,若しくは
      • (2) Finder環境設定で設定したディレクトリ(「新規Finderウィンドウの表示方法」の箇所)


[編集] 検索条件の保存

Spotlight検索条件は、Finderの「スマートフォルダ」として保存でき、実体は

  ~/Library/Saved\ Searches/“この Mac”を検索中.savedSearch

というようなファイル(PropertyListのデータ)として表示・並び順指定等を含めて保存される。これをFinderから呼び出し・開くと、保存されたSpotlight検索が再現される。

[編集] mdimporter

Spotlight は mdimporter と呼ばれるプラグインを利用して、検索機能を拡張できる。 mdimporter は、/System/Library/Spotlightまたは/Library/Spotlight に置けば良い。

[編集] JapaneseText.mdimporter

EUC-JP、Shift-JIS、ISO-2022-JP、UTF-8、UTF-16 で書かれた日本語プレーンテキストを Spotlight で検索できるようになります。

  • MacOSX 10.6 では、必ずしもうまく動かないようです。

下記のリンク内にもあるように,これの Info.plist 内を編集し検索対象コンテントタイプを追加できる。

<string>public.plain-text</string>  # 元々
<string>public.html</string>  # htmlソースを指すタイプ
<string>org.tug.tex</string>  # これはTeXShopが導入定義したタイプ

[編集] BibImporter.mdimporter

BibTeX ソースを Spotlight 検索するための mdimporter。BibDesk のコンテンツ内部に含まれている。

[編集] TeX.mdimporter

TeX ソースを Spotlight 検索するための mdimporter。TeXShop 2 のアプリケーションバンドル内部に含まれている。

和文 TeX ソースは UTF-8 エンコードである場合のみ対応。

[編集] コマンド

[編集] mdutil

Spotlight検索のインデクス作成等を操作するコマンド.

  • 検索対象する・しない等も設定可能
    • ボリューム(パーティション)やマウントしたファイルサーバに対して設定
  • マニュアルを見るには
$ man mdutil
 :
mdutil [-pEsav] [-i on | off] volume ...
 :

[編集] mdfind

mdfind

[編集] mdls

  • マニュアルを見るには
$ man mdls
 :
 mdls [-name attributeName] [-raw [-nullMarker markerString]] file ...
 :
  • 例 attributeName として"kMDItemKind"を調べる
$ mdls -name kMDItemKind "サンプル.html"
kMDItemKind = "HTML 書類"

[編集] Spotlight のトラブル

[編集] 「移行アシスタント」で新しいマシンに乗り換えたあと、Spotlight の検索結果が不完全になる

この場合は「システム環境設定 > Spotlight > プライバシー」タブで「検索から除外する場所」にルートディレクトリを指定します。そして、もう一度「プライバシー」パネルを開いて指定を解除すると、Spotlightが全ディレクトリのインデックスを作り直すことができます。下は、インデックス再作成中の画面です。

spotlight-rebuild.png

[編集] *.tex ソース内の日本語文字列が Spotlight 検索の対象とならない

SJIS コードの .tex ソースで試してみたのですが,検索対象にならないようです.

[編集] Spotlight は“青木”を検索してくれない

「青木」以外でも幾つかのキーワードで正常動作しないことを確認 (於 Mac OS X 10.5.5) している。現行の Spotlight は信用しないほうがよいのだろう。--たちゃな 2008年9月17日 (水) 07:58 (UTC)

[編集] 関連するソフトウェア等

  • SpotInside
    • ファイルの中身を検索してプレビュー可能

[編集] 紹介記事

[編集] 開発情報

[編集] そのほか

  • Spotlight (mdfind, mdls コマンド) で,pdf ファイル内のメタデータ(title とauthors)を検索・表示させる実験
    • title については,mdls で kMDItemTitle を見ると,そのままの title が無事に表示された.(日本語ならば UTF-8 コードで表示)
    • authors については,kMDItemAuthors を見ると,一人目の author のみが表示される.(ただし,日本語ならば "\U..." というコード(?) で表示されるようなので本当は確認できていません...)
    • pdf 自身の仕組み(?)の中で,authors メタデータは自動的に author メタデータ(一人目)に変換されており,kMDItemAuthors は後者の方を見ているようだ.
  • pdf ファイルの author メタデータに関係するのかもしれませんが,「研究会議の proceedings (の pdf ファイル群) を受け取ったけれども,Spotlight 検索を用いて各論文の著者名をキーワードにして効率的に検索できるようにしたい.」という目的のためには,各ファイルの Spotlight コメント欄に著者名を書き込むと良いようです.(Automator による自動化も可能? ただしあまり妥当な方法ではないようでしたら申しわけありません.)

[編集] Wiki内の関連ページ

個人用ツール
名前空間

変種
操作
案内
ツールボックス