Suche Namen mit Apache Solr

Ich habe nur gewagt, in den scheinbar einfachen, aber extrem komplexen Welt zu suchen. Für eine Anwendung, die ich bin erforderlich, um das erstellen einer such-Mechanismus für die Suche der Benutzer nach dem Namen.

Nach dem Lesen zahlreicher Beiträge und Artikel, darunter:

Wie kann ich mit Lucene für den persönlichen Namen (Vornamen, Nachnamen) suchen?

http://dublincore.org/documents/1998/02/03/name-representation/

was ist der beste Weg, um zu suchen, ein Soziales Netzwerk durch die Priorisierung eine Benutzer-Beziehungen zuerst?

http://www.gossamer-threads.com/lists/lucene/java-user/120417

Lucene Index-und Query-Design Frage - Suche Leute

Lucene Fuzzy-Suche für die Kunden mit Namen und teilweise Adresse

... und ein paar andere, die ich nicht finden kann in dem moment. Und immer mindestens die Indexierung und die einfache Suche in meiner Maschine, die ich haben dazu das folgende Schema für die Benutzer-Suche:

1) mit einem ersten, zweiten und Dritten Feld name und index diejenigen mit Solr

2) Verwenden Sie edismax als requestParser für multi-Spalte suchen

3) Verwenden Sie eine Kombination aus Normalisierung Filter wie: transliteration, Latein-zu-ascii-convesrion, etc.

4) Schließlich verwenden Sie fuzzy-Suche

Offenbar sehr neu in diesem bin ich nicht sicher, ob das obige ist der beste Weg, es zu tun und würde gerne hören von erfahrenen Benutzern, die haben eine bessere Idee, als mich in diesem Bereich.

Muss ich in der Lage, mit Namen in der folgenden Weise:

1) Accent folding: Jörn entspricht Jörn und Umgekehrt

2) Alternative Schreibweisen: Karl-matches Carl und Umgekehrt

3) Verkürzte Darstellungen (ich glaube, ich mache das mit dem SynonymFilterFactory): Sue Spiele Susanne, etc.

4) Levenstein matching: Jonn entspricht, John, etc.

5) Soundex-übereinstimmung: Elin und Ellen

Jede Anleitung, Kritik oder Kommentare sind sehr willkommen. Bitte lassen Sie mich wissen, wenn das möglich ist ... oder vielleicht bin ich einfach nur Tagträumen. 🙂


BEARBEITEN

Ich muss auch hinzufügen, dass ich auch ein fullname-Feld, falls einige Leute lange Namen haben, wie ein Beispiel aus einem der Beiträge: Jon Paul oder Del Carmen sollte auch passen, Jon Paul Del Carmen

Und da dies ein neues Projekt, ich kann ändern Sie das schema und Architektur eine Möglichkeit, dass ich sehen, passen, so gibt es sehr begrenzte Einschränkungen.

  • Sie erzielen die besten Ergebnisse, indem Sie versuchen, Sie zu lösen 1 Problem zu einem Zeitpunkt. (Sie kennen das wahrscheinlich, ich bin nur daran erinnert 😉 )... UND ich würde versuchen, lösen die einfachsten Fragen zuerst. Ihre Liste sieht sortiert in umgekehrter Reihenfolge der Schwierigkeit. Ich würde beginnen mit #5 und meinen Weg zurück zur #1. Jede dieser Fragen rate eine separate Frage, die hier auf S. O. Schließlich, ich glaube, du wirst bessere Hilfe zu bekommen auf die user-Foren zu den einzelnen Projekten Haupt-Website. Ich bin mehrere Stunden verbrachten ein paar Monaten Lesen der lucene-forum an apache.org und fand es sehr ermutigend und enlighting. Viel Glück!
  • Re accent folding, soweit ich weiß, ich weiß wirklich nicht, Schwedisch zum Beispiel, wenn Sie aber eine bestimmte Sprache analyzer auf den text, so lange wie die gleiche analyzer verwendet wird, auf der Abfrage, dann werden die indizierten Dokument durchsuchbar. Ich weiß wirklich nicht viel, obwohl über die Erkennung der Sprache auf ein Stück text.
InformationsquelleAutor shachibista | 2011-04-01
Schreibe einen Kommentar