Können wir implementieren Solr auto empfehlen ohne Speicherung der Feld-aber nur Indizierung
Ich nehme an, um die Implementierung von Google-wie das auto-suggest/komplett mit Solr. Ich habe 2 Fragen im Zusammenhang mit diesem:
-
Ist es möglich, dass wir nur index, aber nicht speichern, ein Feld, auf dem die "auto-vervollständigen" ist wohl zu laufen oder Begriffe Komponente angenommen zu laufen!
-
Können wir verwenden mehrere Felder, die für das abrufen von Daten zum Auffüllen von auto-vorschlagen, und wenn ja, dann können diese Felder verwendet werden, die nur als index und nicht als gespeichert!
Ich wäre toll, wenn jemand beworben hat dies und versucht diese Umsetzung und kann mir helfen.
Dank
Saif
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Solr 4.0 gibt es eine neue Komponente namens Suggester. Es verwendet die Rechtschreibprüfung Komponente zu bauen, Vorschläge basierend auf Ihrem vorhandenen index.
Suggester - Solr-Wiki
Ich bin immer noch Feinabstimmung meiner Feld-Typ für die Suggester-Komponente, aber hier ist was ich habe, so weit, die scheint Recht gut zu funktionieren.
Du suchst die Solr TermsComponent abgefragt werden kann, um die Rückkehr der Begriffe, die in einem indizierten Feld, zusammen mit Ihren Frequenzen. Insbesondere soll die
terms.prefix
parameter, die Rückkehr alle Bedingungen, die beginnen mit dem Präfix, den Sie angeben.In SOLR für AutoVervollständigen, die Sie haben zu definieren, die der ngram field Sie sind auf der Suche gegen as gespeichert, so dass die Werte zurückgegeben werden.
Denke auch ich, dass es keine Möglichkeit gibt, in SOLR können Sie abrufen von Daten aus mehreren Feldern, und ziehen Sie eine einzelne ngram von ihm. Einfacher Weg wäre, um erstellen Sie ein Feld und kopieren Sie die Daten von allen anderen Felder, die Sie verwenden möchten, in das eine Feld und dann gelten ngram tokenisierung zu.
solr ermöglicht copyfield verwendet werden, die als index für AutoVervollständigen. dies ist ein Beispiel aus meiner Arbeit in solr auto-suggest - /auto-complete,
<copyField source="name" dest="text"/>
. Klar, dass solr wird nur der index das Feld, das Sie verwenden, in AutoVervollständigen.In der anderen hand, die Sie abrufen können Felder, sofern es gespeichert ist, und hier meine ich die orignal feilds nicht das kopierte. Was ich vorschlagen, ist, um kopieren Sie die durchsuchbaren Felder z.B.:name, und dann rufen die alle anderen Bereich, basierend auf der Abfrage selbst. Sie müssen zum erstellen von benutzerdefinierten suchen-handler und request-handler.
Ich werde Bearbeiten Sie diese mit vollständigen Lösung, später.
können Sie in diesem Artikel erfahren Sie mehr über das Thema und dann Ihre Lösung zu erweitern. http://solr.pl/en/2010/10/18/solr-and-autocomplete-part-1/