Safariはすべてを記憶している、今まで知らなかったSpotlightの凄い機能(OSX 10.5 Leopard)

正直、恥ずかしい話、昨日までOSX 10.5 Leopardのスポットライトをちゃんと使えていなかった...。OSX標準のファイル検索ソフトぐらいにしか考えていなかった。OSインストール直後や外付けUSBハードディスクを接続した時には、索引作りを頑張り過ぎて動作を緩慢にする困った奴だ、ぐらいにしか。

今日、衝撃の事実を知った!
Leopardインストール後にSafariで閲覧したWEBページのテキストはすべて記録されている!
そして、その記録はSpotlightによって、ものすごく簡単に検索することができる!

  • SafariStandの履歴 >> History Flowも素晴らしい機能だ!(Spotlightが先かもしれないが)
  • 同様に、Spotlightでも、すべてを表示でCover Flowを選択すれば、ページのサムネイルも確認できる。
  • ページのサムネイルを確認しながら、過去の閲覧すべての全文検索ができてしまうとは...。


実験

試してみた。今年の初め、自分の日記は確か「1アクションで複数モデルを操作する」がテーマだった。コントロール + スペースでスポットライトに「1アクション」を入力してみた。

いくつかの「1アクション」を含むタイトルがヒットした。そのうちの一つを開いてみると、このページが表示された。

今度はもう少し、ピンポイントで検索してみる。この夏はMacBookを冷却することに試行錯誤していた。「MacBook 冷却 smcFancontrol」で検索してみた。17項目がヒットしてその中に「徹底的にMacBookをソフトウェアで冷却する」が見つかった。

凄いことが起こっている...。自分で書いた日記はもちろんのこと、一度でも閲覧したWEBページはそこに含まれる何らかのキーワードで検索可能な状態になっている。

いったい...いつまで遡っての検索が可能なのだろう?閲覧ページの履歴は以下のディレクトリに保存されるらしい。

~/Library/Caches/Metadata/Safari/History 

上記ディレクトリを開いてみると...

  • 6198項目、161.8MBの履歴ページファイルが残っていて、
  • 最も古いファイルの変更日は2007/11/11になっていた。

つまり、自分が初代MacBookLeopardをインストールした時だと思う。それからずっと、Safariで閲覧したWEBページについてはすべて記録されていた、ということになる。複雑な心境が駆け巡る。

  • Safariで閲覧したWEBページについてはすべて記録され、簡単に検索できるという衝撃、Apple凄い。
  • そんな凄い機能なのに、この1年間全く気付かないままだったという後悔、というか情けないというか...。

どのように記録されているのか?

気を取り直して、気になることを試してみた。(こうゆう時は、ゲストアカウントでログインすると、気兼ねなくいじり回せる。)

  • Safariを初めて起動すると、http://apple.excite.com/が開く。
  • その瞬間、~/Library/Caches/Metadata/Safari/History にファイルが2つ追加された。
    • 一つは、URLとタイトルだけを記録したと思われるファイル
bplist00メSURLTName_http://livepage.apple.co.jp/_!Apple Home Page powered by Excite
5
    • もう一つは、ページ内容の全テキストを記録したと思われるファイル
    • ファイルの内容は文字化けしていて確認できないが、Spotlightで検索すると、そのページ内の語句なら何でもヒットする。おそらく、テキストデータとして全文が保存されているのだと思う。(勝手な想像)
bplist00ÓSURL^Full Page TextTName_http://apple.excite.co.jp/o²
0á0ü0ëŠ3žfø–ûŠqS`0DŠÇ[¤0P
...(中略)...
  • ページを開く度に、上記のようなファイルが追加されていく。(おおーっ)

記録されるタイミング

メニューからの操作によって、ページ閲覧の履歴は以下のように取り扱われるようだ。

Safari >> プライベートブラウズ...
  • ~/Library/Caches/Metadata/Safari/History は保持されるが、プライベートブラウズ中は履歴には追加されない。
Safari >> キャッシュを空にする...
履歴 >> 履歴を消去、または Safari >> Safariをリセット... >> 履歴を消去
  • Safariで履歴を消去を実行するまでは、閲覧したページの内容はずっと保存され続けるようだ。
  • また、自分のSafariの環境設定を確認すると、「履歴からの削除」という項目は「1ヵ月後」に設定してある。
  • その状態で、Safariの履歴メニューからすべての履歴を確認してみると、上記設定通り、1ヵ月後までのURLが表示された。
  • しかし、~/Library/Caches/Metadata/Safari/History では、Leopardインストール後のすべての閲覧ページの内容を保存した履歴ファイルが確認できる。
  • 実際にSpotlightで検索してみても、遠い過去に自分が閲覧したと思われるページが、ちゃんと表示される。(凄い!)
  • おそらく、上記実験で履歴ファイルが2つ作成されているので、1つはSafariの履歴表示用、もう1つはSpotlightの履歴検索用なのかもしれない。

今まで一度見つけた興味深い情報のページは、また検索するのが面倒なのである程度の期間、開きっぱなしにしていた。結果、タブはどんどん増えて、常にたくさんのタブを開いている状態になっていた。

  • ブックマークするほどでもないけど、この日記を書き終わるまではいつでも見られるようにしておきたいという気持ち。 
  • それに、例えブックマークしたとしても、ブックマークのタイトルだけでは、よく分からなくなってしまうという状況がよくあるので。(ブックマークしつつ、タブにも開いておいたりして)

これからは、Spotlightがものすごく頼りになりそうだ!その他にも以下の機能が!

辞書検索

  • 単語を入力すれば、Leopardの「辞書(辞書.appが参照する辞書データ)」の内容も含めて、結果を返してくれる。コントロールキー + スペースキーのショートカットが手になじんでくれば、辞書に切り替えるより便利かも。


  • もっとも、Safariで表示されている単語を調べたいのなら、マウスカーソルをその単語の上に移動して「コマンドキー + コントロールキー + d」でもっと幸せ。
  • Firefoxだと「コマンドキー + コントロールキー + d」が効かない。そんな時は、LookUpDictionaryをインストールして、調べたい単語をコピーするだけで検索されるようになる。(ペーストしなくていい。素晴らしいソフトウェアに感謝です!)

計算機能

  • 「1+1」=2などの四則演算はもちろんのこと、


  • ちょっと高度な関数なども利用できた。(Spotlightでちょっと高度な計算を
    • 「pow(2,8)」=256
    • 「sqrt(2)」=1.414213562
    • 「pi」=3.1415926536
    • 「sin(90*pi/180)」=1(引数の単位はラジアン
  • アプリケーションやダッシュボードの計算機もあるが、ちょっとした計算なら、この方法もまた便利だ。


Spotlightのことを、さらにはLeopardのことを、もっと勉強しないといけない...。(Spotlightのこのような機能って、常識なのだろうか、知らなかったのは自分だけ...。)



まとめページを見つけた!ここから続く3エントリーは素晴らしいです。感謝です!