「Spotlight」の版間の差分

提供: MacWiki
移動: 案内検索
(NiOAtwYH)
(98.225.30.238トーク)による編集を192.51.44.22による直前の版へ差し戻しました)
行1: 行1:
I was really confused, and this anwsered all my questions.
+
== Spotlight とは? ==
 +
[[MacOSX|Mac OS X]]の検索エンジン。ローカルファイルが対象。
 +
*[[MacOSX|Mac OS X]] 10.4 (Tiger) 以降。
 +
*詳しくは [http://www.apple.com/jp/macosx/features/spotlight/ Spotlight], [[Wikipedia:Spotlight]] などを参照して下さい。
 +
 
 +
=== 標準の検索対象 ===
 +
標準の検索対象の種類 (kind:...).
 +
 
 +
*pdf
 +
*email
 +
*Web アーカイブ
 +
*Safari 履歴項目
 +
**Safariで訪れたwebページは履歴化され検索対象となるが,Safariで開いたpdfファイルは非対象.
 +
*プレーンテキスト(日本語はShift_JIS および UTF-16 のみ対応)
 +
*htmlファイル(日本語はShift_JIS および UTF-16 のみ対応)
 +
*その他いろいろ
 +
 
 +
参考情報(外部)→ [http://www.openspc2.org/reibun/Spotlight/condition/002/index.html Spotlight例文辞典]
 +
 
 +
 
 +
=== 標準の検索範囲 ===
 +
標準の検索方法と,その検索ディレクトリ範囲について.(MacOSX 10.6.4 で確認)
 +
 
 +
* 方法1. Finderウィンドウ(フォルダウィンドウ)のタイトルバー直下領域の検索欄を用いる.
 +
** 2種類の検索範囲を選択可能:
 +
*** (1) このMac内,若しくは
 +
*** (2) 現在のウィンドウフォルダ内
 +
**この場合「Safari履歴項目」は検索されない
 +
 
 +
* 方法2.メニューバーのSpotlightアイコンから呼び出す.
 +
** 2種類の検索範囲を選択可能:
 +
***(1) このMac内,若しくは
 +
*** (2) Finder環境設定で設定したディレクトリ(「新規Finderウィンドウの表示方法」の箇所)
 +
 
 +
 
 +
<!-- いずれの方法も,2種類のディレクトリを検索範囲として選択可能.-->
 +
 
 +
== mdimporter ==
 +
 
 +
Spotlight は mdimporter と呼ばれるプラグインを利用して、検索機能を拡張できる。
 +
mdimporter は、/System/Library/Spotlightまたは/Library/Spotlight に置けば良い。
 +
 
 +
*Spotlight インポータの紹介
 +
**http://developer.apple.com/ja/documentation/Carbon/Conceptual/MDImporters/index.html
 +
 
 +
*Spotlight Plug-in
 +
**http://www.apple.com/downloads/macosx/spotlight/
 +
 
 +
=== JapaneseText.mdimporter ===
 +
 
 +
EUC-JP、Shift-JIS、ISO-2022-JP、UTF-8、UTF-16 で書かれた日本語プレーンテキストを Spotlight で検索できるようになります。
 +
*http://8-p.info/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|TeXShop 2]] のアプリケーションバンドル内部に含まれている。
 +
 
 +
和文 TeX ソースは UTF-8 エンコードである場合のみ対応。
 +
*[[Spotlight#.2A.tex_.E3.82.BD.E3.83.BC.E3.82.B9.E5.86.85.E3.81.AE.E6.97.A5.E6.9C.AC.E8.AA.9E.E6.96.87.E5.AD.97.E5.88.97.E3.81.8C_Spotlight_.E6.A4.9C.E7.B4.A2.E3.81.AE.E5.AF.BE.E8.B1.A1.E3.81.A8.E3.81.AA.E3.82.89.E3.81.AA.E3.81.84|*.tex ソース内の日本語文字列が Spotlight 検索の対象とならない]]
 +
 
 +
== コマンド ==
 +
 
 +
=== mdutil ===
 +
Spotlight検索のインデクス作成等を操作するコマンド.
 +
*検索対象する・しない等も設定可能
 +
**ボリューム(パーティション)やマウントしたファイルサーバに対して設定
 +
*マニュアルを見るには
 +
$ man mdutil
 +
  :
 +
mdutil [-pEsav] [-i on | off] volume ...
 +
  :
 +
 
 +
=== mdfind ===
 +
 
 +
→[[mdfind]]
 +
 
 +
=== mdls ===
 +
*マニュアルを見るには
 +
$ man mdls
 +
  :
 +
  mdls [-name attributeName] [-raw [-nullMarker markerString]] file ...
 +
  :
 +
 
 +
*例 attributeName として"kMDItemKind"を調べる
 +
<pre>
 +
$ mdls -name kMDItemKind "サンプル.html"
 +
kMDItemKind = "HTML 書類"
 +
</pre>
 +
 
 +
== Spotlight のトラブル ==
 +
 
 +
===「移行アシスタント」で新しいマシンに乗り換えたあと、Spotlight の検索結果が不完全になる===
 +
 
 +
この場合は「システム環境設定 > Spotlight > プライバシー」タブで「検索から除外する場所」にルートディレクトリを指定します。そして、もう一度「プライバシー」パネルを開いて指定を解除すると、Spotlightが全ディレクトリのインデックスを作り直すことができます。下は、インデックス再作成中の画面です。
 +
 
 +
http://macwiki.sourceforge.jp/images/spotlight-rebuild.png
 +
 
 +
*Spotlight トラブル対策室(OS X ハッキング!第180回)
 +
**http://journal.mycom.co.jp/column/osx/180/
 +
 
 +
===*.tex ソース内の日本語文字列が Spotlight 検索の対象とならない===
 +
 
 +
SJIS コードの .tex ソースで試してみたのですが,検索対象にならないようです.
 +
*TeXShop 2 付属の TeX.mdimporter は UTF8 or ISOLatin1 or MacOSRoman と決めつけて、文書の内容を検索している。これはちょっとお粗末。
 +
*ISO-2022-JP, EUC-JP, Shift_JIS 等の .tex ソースも Spotlight 検索対象にさせる方法
 +
**[http://osx.miko.org/index.php/Beginning_OS_X_10.5/運用編#.E5.92.8C.E6.96.87_TeX_.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92_Spotlight_.E3.81.AE.E6.A4.9C.E7.B4.A2.E5.AF.BE.E8.B1.A1.E3.81.AB.E5.90.AB.E3.82.81.E3.82.8B.E3.81.AB.E3.81.AF Beginning OS X 10.5/運用編: 和文 TeX ソースを Spotlight の検索対象に含めるには]
 +
 
 +
===Spotlight は“青木”を検索してくれない===
 +
 
 +
* [http://iso130.blog90.fc2.com/blog-entry-116.html MacやWindowsの話  Spotlight 青木さんはご用心]
 +
「青木」以外でも幾つかのキーワードで正常動作しないことを確認 (於 Mac OS X 10.5.5) している。現行の Spotlight は信用しないほうがよいのだろう。--[[利用者:たちゃな|たちゃな]] 2008年9月17日 (水) 07:58 (UTC)
 +
 
 +
== 関連するソフトウェア等 ==
 +
 
 +
*[http://desktop.google.com/mac/index.html Google Desktop]
 +
**http://journal.mycom.co.jp/column/osx/221/index.html
 +
 
 +
*[http://www.oneriver.jp/SpotInside/index.html SpotInside]
 +
**ファイルの中身を検索してプレビュー可能
 +
 
 +
* [http://code.google.com/p/spotlook/ SpotLook]
 +
 
 +
*[http://homepage.mac.com/superpixel/highlight/ Highlight]
 +
 
 +
*[http://www.fatcatsoftware.com/spotbrowse/ Spotlight Browser]
 +
 
 +
*GUImdls
 +
**mdls の GUI フロントエンド
 +
**http://blog.ayato.main.jp/?eid=209297
 +
 
 +
== 紹介記事 ==
 +
*[http://www.tidbits.com/tb-issues/lang/jp/TidBITS-jp-904.html#lnk10 Spotlight の逆襲: Leopard になって、素晴らしく働く] ([http://db.tidbits.com/article/9283 Spotlight Strikes Back: In Leopard, It Works Great, TidBITS])
 +
 
 +
*[http://hajimemasita.blogspot.com/2008/06/spotlight.html  Spotlightを使いこなす! - Part1 及び続き記事]
 +
*[http://d.hatena.ne.jp/zariganitosh/20081116/1226815674 Safariはすべてを記憶している、今まで知らなかったSpotlightの凄い機能]
 +
 
 +
== 開発情報 ==
 +
*http://developer.apple.com/ja/documentation/Carbon/Conceptual/MetadataIntro/index.html
 +
*[http://www.queuesoft.jp/blog/?p=89 いい加減なQuickLookの作成方法(QueueSoft Developing Diary)]
 +
 
 +
== そのほか ==
 +
 
 +
*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内の関連ページ ==
 +
 
 +
*[[NavigationPage]]
 +
*[[MacOSX]]
 +
 
 +
[[Category:ソフトウェア]]
 +
[[Category:テクノロジー]]
 +
[[Category:Mac OS X]]

2011年8月7日 (日) 07:43時点における版

Spotlight とは?

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

標準の検索対象

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

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

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


標準の検索範囲

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

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


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内の関連ページ