2016-05-06 8 views
4

Ich habe ein Szenario, wo ein einzelnes Dokument in einem Lucene-Index mehrere Standorte haben könnte. Das Dokument ist eine Repräsentation eines Sitecore-Elements und von ihm zugeordneten N-Standortelementen. Ein Punkt und ein Radius würden verwendet, um nach allen Dokumenten zu suchen, die mindestens einen Ort in diesem Radius haben. Andere Suchkriterien wie Name und Tagging würden ebenfalls berücksichtigt werden. Die Dokumente müssen nach Entfernung sortiert werden, wobei der am besten passende Ort verwendet wird, der diesem Dokument zugeordnet ist. Ich habe lucene.net.contrib.spatial für einzelne Punkte verwendet, aber ich kann nicht ganz zusammensetzen, wie Multipoint funktionieren würde oder könnte.Wie wird eine Geospatial-Suche mit Lucene in einem Dokument mit mehreren Standorten in Sitecore durchgeführt?

Antwort

0

Nach einer Reihe von verschiedenen Lösungen versucht, die ich angelegt habe ein Reverse-Tagging-System erstellt.

Kurz gesagt, ich benutze die Linkes-Datenbank von Sitecore, um ein berechnetes Indexfeld an jedem Ort zu erstellen, in dem die ID jedes Gegenstands gespeichert ist, der mit diesem Ort markiert ist. Ich suche dann zuerst die Standorte und dann die IDs der Standort-Ergebnisse als Suchparameter für eine Abfrage des Inhalts, nach dem ich eigentlich suche.

Ich habe die vollständige Umsetzung hier skizziert:

http://alextselevich.com/2016/08/performing-a-geospatial-search-with-lucene-on-a-document-that-has-multiple-locations/

Verwandte Themen