1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

ergebnisse der Spotlight Suche um eigene erweitern!

Dieses Thema im Forum "OS X-Developer" wurde erstellt von fedderle, 20.05.08.

  1. fedderle

    fedderle Gast

    Hallo!

    Habe ein FileSystem entwickelt, mit dem man eine Datenbank im Finder mounten kann!
    Würde jetzt gerne die spotlight Suche auf diesem gemounteten Volume optimieren!
    Möchte also nicht den Weg gehen, dass man Spotlight das Volume indizieren lässt, sondern die Suche eigenständig machen und dementsrprechend meine Ergebnisse dann zurückliefern. (aus Perfomance Gründen)
    Dazu müsste ich den Suchstring des Users bzw den Suchquery von Spotlight abfangen können! Nur wie geht das? Bzw. Geht das Überhaupt?

    Und wie kann ich dann meine Suchergebnisse in die von Spotlight integrieren?
    Hat da irgendwer eine Idee????


    gruß
    fedderle!
     
  2. zeno

    zeno Lane's Prinz Albert

    Dabei seit:
    05.11.05
    Beiträge:
    4.898
  3. fedderle

    fedderle Gast

    Danke für die schnelle Antwort.
    Aber das ist nicht ganz das was ich brauche! Hier sind ja dann bereits alle Daten in dem .aaa File gespeichert und Spotlight kümmert sich um den Rest der angezigt wird.

    Mir geht es eher darum, dass, wenn eine Suchanfrage bei Spotlight ausgelöst wird, mein Programm dies mitbekommt! Irgendwie den Suchstring von Spotlight erhält und dann einen Datenbankquery bilden kann und eine Such anfrage auf die DB machen kann. Und dann die Ergebnisse zurückliefert.

    quasi so was ähnliches wie dieses Tool hier macht!
    http://www.caffeinatedcocoa.com/googleImporter/index.html

    Nur ich steig leide nicht dahinter wie die das machen!

    fedderle
     
  4. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Das bekommt dein Programm ja auch mit, genauer gesagt: Dein Metadata-Importer. Spotlight kennt ja nicht die Dateistruktur. Wie auch?
     
  5. fedderle

    fedderle Gast

    Sorry! Irgendwie steh ich glaub auf em Schlauch!


    Wenn ich das richtig sehe, geht das ganze aus dem Link oben doch nur mit eigenen DateiFormaten wie in dem Beispiel .aaa!
    meine Datenbank liefert mir aber Media Daten: also: GIF, JPG, MP3 usw. Diese Dateitypen sind ja bereits integriert als MetaDaten!

    Und es geht mir ja nur da drum dass ich Spotlight sagen kann! Hier such nicht selbst auf dem Volume, sondern frag mich und ich geb dir die Suchergebnisse!

    Achja! Und das ganze sollte auf Tiger und Leopard funktionieren wenn möglich.

    Sorry! Wenn ich mich jetzt wiederhole oder so!
    Aber ich wüsste nicth, wie ich mit obigen Beispiel auf so eine Funktion kommen kann!

    Oder ich hab das Beispiel falsch verstanden. In dem Fall erklärt mir bitte mal jemand wie das genau Funktioniert.

    Danke schon mal im Vorraus!

    fedderle!
     
  6. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Ah, verstehe: Du willst die Standard-MDI für dein Filesystem abändern? Ich glaube nicht, dass das ohne weiteres geht, weil das ja zwei völlig verschiedene Ebenen sind.

    Das lässt mich allerdings auch an der Sinnhaftigkeit zweifeln. Wieso soll denn für dein Filesystem ein anderer MDI erforderlich sein?
     
  7. fedderle

    fedderle Gast

    Die Sache ist die!

    Ich zeige im meinem FileSystem die Daten aus der Datenbank an!
    Im Moment noch nur read only! Soll aber auch schreibend irgendwann gehen!

    Ich kann nun natürlich Spotlight dieses Volume indizieren lassen. Dann rattert der das komplette Volume durch und indizeirt seinen Kram! Dann bekomm ich ja auch meine Suchergebnisse.

    1. Hat nur den Haken! Wenn in der Datenbank von einem anderen Ort ein File hinzugefügt wird oder so bekommt das Spotlight nicht mit. ---> Neuer Eintrag wird nicht gefunden!

    2. Was noch blöder ist: Beim indizieren wird jedes File einzeln geöffnet und die Metadaten gelesen. Das bedeutet verdammt viele Datanbank abfragen. Folge: Es dauert Ewigkeiten. Und eigenltich sollte das ganze so komfortabel wie möglich sein. Also diese Indizierung die quasi dann jeden Mount1 nötig wäre, sollte eigentlich im besten fall nicht stattfinden!
    Deshalb wäre es schön wenn es iwie möglich wöre zusagen

    "Hey Spotlight! Auf diesem Volume darfst du nicht selbst suchen. Um die Suche kümmer ich mich leite die Suchanfragen an mich weiter.!"

    Ich finde aber keinen sinnvollen weg wie das gehen soll!
    Bin auf die Möglichkeit gestoßen, dass so etwas evtl mit einem INput Manager gehen soll! Aber da kenn ich mich kein Stück mit aus. Und Außerdem werden die meines Wissens nach ja in 10.5 nicht mehr unterstützt!

    Noch irgend ne Idee was man da machen kann!
    Bin auch für Kompromisse bereit! ^^

    fedderle!
     
  8. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Okay, es besteht die vage Möglichkeit, dass ich die Problematik verstanden habe.

    Mir scheint es allerdings so, dass man zumindest einen Teil der Probleme damit lösen kann, dass du einen Stellvertreterfile nimmst. Also: Du lässt dein FileSystem gar nicht durchsuchen (kann der Nutzer ja abschalten) und erzeugst eine Datei $irgendwo, die du Spotlight indizieren lässt. Natürlich musst du dann selbst deine Datenbank durchsuchen. Aber ohne Information geht es nun einmal nicht.

    Mein Spotlight-Wissen gelangt damit aber auch ans Ende. Kannst ja mal darüber nachdenken.
     
  9. fedderle

    fedderle Gast

    hmm!

    Also! ich hoffe bversteh das richtig!??!?!

    Ich lege quais für Spotlight ein indizes File an wo ich meine ganzen Dateien beim Mount die irgendwo sind reinschreibe! Und die lass ich dann von Spotlight indizieren?????
    Geht das so einfach?

    Hmm! Also! Ist zwar nicht genau das was ich haben wollte. Aber wäre als Notlösung glaub ich eine Möglichkeit!

    Danke schon mal!
     
  10. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Du musst ja nicht alles reinschreiben. Letztlich kann da "hier bin ich" drinstehen. Wichtig ist nur, dass du bei jeder Änderung, diese Datei anfasst. Dadurch wird Spotlight veranlasst, diese neu zu indizieren, was in deinem MDI resultiert. Wie du dann die Daten lieferst, bleibt dir überlassen.

    Natürlich findet Spotlight dann immer deine Datei, anstelle der Datei in deinem System. Da gab es IIRC aber auch einen Trick mit einer Stellvertreterdatei, die du extra für diesen Treffer anlegst. Müsste ich aber nachschauen. (Was ich in den nächsten zwei Wochen gewiss nicht schaffe.)

    Ist aber alles aus grober Erinnerung. Schon zu lange her und Tiger …
     

Diese Seite empfehlen