6

コードによって生成された補助ファイルの束があり、SpotLightによって潜在的な検索候補として提案されないことを心から望んでいるLaTeXドキュメントがあります。私は探していませんexample.log、私は探していexample.texます!

では、たとえばすべての.logファイルを無視するようにSpotlightを構成できますか?

(私は知っています、私は知っています;代わりにQuickSilverを使うべきです…)


@diciuそれは興味深い答えです。私の場合の問題はこれです:

どのインポーターがあなたのタイプのファイルを処理するかを把握します

私のタイプのファイルが単一のインポーターによって処理されているかどうかわかりませんか?それらはすべて奇妙な拡張子(.aux、.glo、.outなど)を持っているので、それらにインデックスを付けようとしているインポーターがいる可能性は低いと思います。ただし、プレーンテキストであるため、汎用ファイルとして取得されています。(確かに、私はSpotlightのインデックス作成についてあまり知らないので、これについては完全に間違っている可能性があります。)


@ diciu再び:TextImporterDontImportList非常に有望に聞こえます。私は出発して、何かが起こるかどうかを確認します。

あなたが言うように、UTIシステム全体が実際に何かを検索しないことを許可していないようです。


@ Raynetファイルを非表示にすることは、私が一般的な意味で設定するのは比較的面倒ですが、実際には良い考えです。最悪の事態が発生した場合、私はそのショットを与えるかもしれません(しかし、おそらくQuickSilverなどの他のオプションを使い果たした後)。(ああ、SetFileには開発者ツールが必要ですが、とにかくここにいる全員がそれらをインストールしていると思います:)

4

4 に答える 4

3

@Will - 型を定義するこれらのものは、統一型識別子と呼ばれます。

問題は、それらが拡張子 (.txt など) と一般的なタイプ (つまり、public.plain-text は純粋にコンテンツに基づいて txt 拡張子のない txt ファイルに一致する) の組み合わせであるため、拡張子を探すほど単純ではないことです。

RichText.mdimporter は、おそらくテキスト ファイルをインポートするインポーターです。これは、インデックスを作成したくないファイルの 1 つで mdimport をデバッグ モードで実行することによって簡単に確認できます。

cristi:~ diciu$ echo "すべての仕事と遊びがなければ、ジャックは退屈な少年になります" > ~/input.txt
cristi:~ diciu$ mdimport -d 4 -n ~/input.txt 2>&1 | grep インポート済み
    kMD2008-09-03 12:05:06.342 mdimport[1230:10b] プラグイン /System/Library/Spotlight/RichText.mdimporter を使用して「public.plain-text」タイプの「/Users/diciu/input.txt」をインポートしました。

私の例で一致するタイプは public.plain-text です。

UTI の拡張機能ベースの例外 (.log で終わるものを除く public.plain-text など) を実際にどのように記述するかはわかりません。

後で編集: RichText mdimporter バイナリも調べて、有望な文字列を見つけましたが、それが実際に使用されているかどうかはわかりません (設定名などとして):

cristi:FoodBrowser diciu$ 文字列 /System/Library/Spotlight/RichText.mdimporter/Contents/MacOS/RichText |grep Text

TextImporterDontImportList

于 2008-09-03T09:06:45.310 に答える
2

ファイルタイプレベルでそれを行う方法はわかりませんが、フォルダレベルでそれを行うことができます:

出典: http: //lists.apple.com/archives/spotlight-dev/2008/Jul/msg00007.html

スポットライトにフォルダを無視させる

他のソフトウェアがフォルダに依存しているためにフォルダの名前を絶対に変更できない場合は、別の方法として、ディレクトリの名前を「.noindex」で終わるように変更しますが、元の場所を使用して実際の場所を指すシンボリックリンクを同じ場所に作成します名前。

ほとんどのソフトウェアは元の名前のシンボリックリンクを使用できますが、Spotlightはシンボリックリンクを無視し、「実際の」名前が* .noindexで終わり、その場所を無視することに注意します。

おそらく次のようなものです:

mv OriginalName OriginalName.noindex ln -s OriginalName.noindex
OriginalName

ls -l

lrwxr-xr-x 1 andyadmin2008年1月24日OriginalName->OriginalName.noindexdrwxr-xr-x 11 andy admin 374 Jul 11​​ 07:03 Original.noindex

于 2008-09-03T07:31:04.043 に答える
2

これがどのように機能するです。

注:システムの更新により、実行する変更上書きされるため、これはあまり良い解決策ではありません。

すべての輸入業者のリストを取得する

cristi:〜diciu $ mdimport -L
2008-09-03 10:42:27.144 mdimport [727:10b]パス:id(501)(
    "/System/Library/Spotlight/Audio.mdimporter"、
    "/System/Library/Spotlight/Chat.mdimporter"、
    "/Developer/Applications/Xcode.app/Contents/Library/Spotlight/SourceCode.mdimporter"、

どのインポーターがファイルのタイプを処理するかを把握します(オーディオインポーターの例):

cristi:〜diciu $ cat /System/Library/Spotlight/Audio.mdimporter/Contents/Info.plist




[..]
            CFBundleTypeRole
            MDImporter
            LSItemContentTypes
            
                public.mp3
                public.aifc-audio
                public.aiff-audio

インポーターのplistを変更して、無視するタイプを削除します。

システムが変更を取得できるように、インポーターのタイプを再インポートします。

mdimport -r /System/Library/Spotlight/Chat.mdimporter
于 2008-09-03T07:48:43.517 に答える
1

唯一のオプションは、何らかの理由で否定的な検索を行うことができないため、スポットライトでインデックスを作成しないことです。特定のファイル拡張子を持つファイルを検索できますが、一致しないファイルは検索できません。

これらのファイルを Finder で非表示にすると、Spotlight は非表示のファイルにインデックスを付けません。ファイルに kIsInvisible フラグを設定するコマンドは次のとおりです。

SetFile -av [ファイル名]

于 2008-09-03T09:45:21.207 に答える