2009-07-05 10 views
0

Ich möchte ein "Citystate" Feld in Lucene Index haben, die verschiedene Stadtstaat Werte wie gespeichert werden:Benötigen Sie in Bezug auf Hilfe Lucene Index/query

  • Chicago, IL
  • Boston, MA
  • San Diego, CA

, wie ich diese Werte speichern kann (shud es in Token aufgeteilt oder nicht-Token aufgeteilt werden?) in Lucene und

wie zu tun Ich erzeuge eine Abfrage (sollte es Phrasequery oder termquery oder etwas anderes sein?), Die mich alle Datensätze erhält, deren caststate enthalten: Chicago, IL ODER Boston, MA ODER San Diego, CA ??

Ich würde mich freuen, wenn ich Hilfe mit dem Code auch bekommen kann.

Danke.

Antwort

2

Sollte der Stadtstaat nicht weiter in zwei separate Felder normalisiert werden?

1

Kommt drauf an. Willst du jemals nach Stadt alleine oder nach Staat suchen? In diesem Fall müssen Sie ein Token erstellen. Wenn nicht, Token nicht. Schauen Sie sich aber die KeywordAnalyzer an - es könnte Ihnen passen.

Zu Ihrer zweiten Frage. Angenommen, Sie rufen das Feld 'Stadtstatus' auf. Sie können dann eine Abfrage verwenden wie: citystate:Chicago, IL OR citystate:Boston,MA OR citystate:San Diego, CA.

Die programmatische Version ist eine BooleanQuery bestehend aus mehreren TermQuery es.

Verwandte Themen