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
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:
Ich empfehle Ihnen, dieses Modul zu verwenden oder es für Ihre Anforderungen zu ändern. https://marketplace.sitecore.net/en/Modules/L/Lucene_Spatial_Search_Support.aspx
Ich weiß nicht, welche Version von Sitecore Sie verwenden. Von Kommentaren sieht aus wie es nicht auf Sitecores funktioniert 8. Sie Quellcode finden Sie hier:
https://github.com/aokour/Sitecore.ContentSearch.Spatial
- 1. Inventar-ERD mit mehreren Standorten
- 2. Dokument in Lucene lesen
- 3. $ _POST Array auf Servern mit mehreren Standorten
- 4. Laufen mit SOLR und Lucene zusammen in Sitecore
- 5. Sitecore Lucene Suche/Feld Boosten
- 6. Entfernung zwischen einem Punkt und mehreren Standorten
- 7. So stellen Sie eine Sharepoint-Veröffentlichungssite mit mehreren Standorten bereit
- 8. Anzahl der Treffer in einem Dokument (doc) in Lucene ermitteln
- 9. Multilangual Taxonomie für eine Drupal Installation mit mehreren Standorten
- 10. Sitecore: Lucene Index Artikel-ID wird ohne geschweifte Klammern gespeichert
- 11. Sitecore-Workflow mit mehreren Publishing-Zielen
- 12. Wie wird die Standardauthentifizierung mit einem Axis2 ADB-Client durchgeführt?
- 13. Wie werden Teilwortsuchen in Lucene.NET durchgeführt?
- 14. Lucene: Suche nach mehreren Feldern mit Standardoperator = AND
- 15. Wie wird diese Abfrage mit RavenDb durchgeführt?
- 16. Wie wird die Authentifizierung in einem HTTP-Service durchgeführt?
- 17. Wie wird eine POST-Anfrage mit Retrofit 2 durchgeführt?
- 18. Wie wird eine ungepufferte Dateiübertragung mit API ReadFile() WriteFile() durchgeführt?
- 19. Verwenden von FFMPEG: Wie wird eine Szenenänderungserkennung durchgeführt? mit Timecode?
- 20. Suchausdruck in einem Satz mit Lucene 5.5
- 21. MongoDB - $ geoNear mit mehreren Übereinstimmungen in demselben Dokument
- 22. Zend Lucene Dokument löschen Problem
- 23. Wie eine teilweise Aktualisierung von mehreren Elementen in Xpages korrekt durchgeführt wird
- 24. Wie wird eine saubere Neuinstallation mit Macports durchgeführt?
- 25. Mahout Lucene Dokument Clustering howto?
- 26. Wie lösche/aktualisiere ich ein Dokument mit Lucene?
- 27. Synonyme mit Lucene
- 28. Wie wird eine korrekte Größenprüfung durchgeführt?
- 29. Wie wird die String-Manipulation in einem NSValueTransformer durchgeführt?
- 30. Wie wird die Kollisionserkennung eine Zeitlang durchgeführt?