Ich verwende Lucene für ein Job-Suchportal mit .net. Ich habe im folgenden Anwendungsfall einige Leistungsprobleme. Anwendungsfall ist: Bei der Jobsuche kann der Benutzer den Arbeitsort auswählen (z. B. Atlanta, GA) und die Radialentfernung wählen (etwa 50 Meilen). Die für die Rückgabe der Ergebnisse der Jobsuche benötigte Zeit ist sehr hoch.Verbesserte Leistung der standortbasierten Suche mit Lucene
FYI, wir unterhalten eine SQL Server 2005 Datenbank, in der wir US-amerikanische und kanadische Städte, Bundesstaaten, Längen- und Breitengrade speichern (enthält insgesamt ca. 1 Million Datensätze).
Kann ich die Leistung dieser standortbasierten Jobsuche verbessern?
Wären Sie in der Lage zu erläutern, wie genau Sie Lucene verwenden, um ortsbezogene Suchen in Bezug auf Ihre Datenbank durchzuführen? Wenn ein Benutzer zum Beispiel nach "Atlanta, GA" sucht, woher weiß Lucene, welche Städte innerhalb von 50 Meilen davon liegen? Muss es zuerst die Datenbank abfragen? –
Vielen Dank für Ihre Kommentare. Wir haben eine .Net-basierte Distanz-API, die den Ort als Eingabe akzeptiert und die nächstgelegenen Städte innerhalb eines bestimmten Radius zurückgibt. Diese Sammlung wird dann an Lucene für Suchaufträge übergeben. – user74042
Sie suchen also den Lucene-Index für die Zeichenfolge "Atlanta, GA"? Was indexierst du? Indexieren Sie "Atlanta, GA" als einen Begriff oder ist er in Token aufgeteilt? – Gandalf