Stefan Frank schrieb:
> Hi Torsten,
> 
> 
> Am 22.03.2009 um 09:55 schrieb Torsten Flammiger:
> 
>> Guten morgen zusammen,
>>
>> ich nutze Ultrasphinx, weil es mir einfach ermöglicht, alle gewünschten
>> Models incl. der gewünschten Attribute zu indizieren und daraus eine
>> Volltextsuche über den *ganzen* Webauftritt zu ermöglichen - bzw. ich
>> _möchte_ es nutzen ;)
>>
>> Nun zur Frage:
>> Indizieren, Suchen und Finden klappt ganz hervorragend aber wie stelle
>> ich die Ergebnisse dar? Die Suche nach einem Begriff liefert mir
>>
>> * die Objekte in denen der Suchbegriff vorkommt.
>> * ALLE Eigenschaften der relevanten Objekte (obwohl ich dediziert
>>  angegeben habe, welche Datenbankspalten ich indiziert haben möchte:
>>  is_indexed :fields => ['name', 'nick', 'description', 'info']
>>  im Member-Model. Gefunden wird aber auch das Passwort! - was
>>  insofern logisch ist, als das das Passwort eine Eigenschaft des
>>  Models ist.
> 
> hmm, wenn ich den Satz aus der Doku:
> 
> "Ultrasphinx uses the find_all_by_id method to instantiate records."
> 
> richtig interpretiere, dann funktioniert das Suchen in zwei Schritten:
> abgelegt werden im Index nur id und typ, die eigentlichen Objekt werden
> dann per find_all_by_id instanziiert - das ist dann ein ganz normaler
> ActiveRecord-Call und daher auch schon wieder unabhängig von us - daher
> kann man auch erwarten, dass man ein ganz normales ActiveRecord-Objekt
> in der Hand hat (hier kommt auch wieder das paginieren ins Spiel: das
> verhindert, dass man plötzlich die ganze Datenbank per find_by_id in der
> Hand hat...).

soweit ok

>> Wie dem auch sei: Was soll ich nun mit den Objekten anfangen?
>> Natürlich könnte ich stupide in jede Eigenschaft eines Objektes
>> hineinschauen, prüfen, ob der Suchtext darin vorkommt und dann
>> entsprechendes HTML generieren - aber das kanns doch nicht sein?
> 
> Wie man die Suchergebnisse dann anzeigt, dass ist dann Sache der
> Anwendung: Meist hat man da ja verschiedene Objekte in der Ergebnismenge

und da liegt der Hase im Pfeffer...

> und für jedes Objekt muss man zwei Sachen Überlegen:
> 
> 1) wie soll es sich auf der Suchergebnisseite darstellen: hier machen
> wir z.B. auf jedes suchbare Objekte eine methode summary, die dann
> jeweils einen Text zurückgibt, den man auf so einer Seite anzeigen kann.

kannst Du das etwas näher erläutern?

Ich stelle mir da so etwas wie ein "virtuelles Attribut" vor, das dann
in jedem gefundenen Objekt als Methode zur Verfügung steht und sich aus
den indizierten Spalten zusammensetzt. So kann ich einfach aüber die
gefundenen Objekte iterieren und auf diese "Standard"-Methode zugreifen.

Liege ich richtig?

> 2) Wohin soll das Suchergebnis verlinken: Wenn Du z.B. Blogposts und

im Moment baue ich den Link auf den gefundenen Artikel (die Seite)
zusammen (sehr häßlich!) und setze ihn in in <li></li> Element - noch
häßlicher ;)

Gruß, Torsten
_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/listinfo/rubyonrails-ug

Antwort per Email an