Die kanonische Weise ist dies:
fieldName:[* TO *]
ein ''
auf der linken Seite verwenden, wie Paige Koch wahrscheinlich vorgeschlagen arbeiten, aber ich traue es so viel wie ich das oben mache. Und da dies ein Standortfeld ist, müssen Sie dies wahrscheinlich mit einem der beiden zugrundeliegenden tatsächlichen Felder gegenüber diesem logischen zusammengesetzten Feld tun. Sie beginnen mit fieldName
und enden mit einer Art numerischen Suffix; Sehen Sie im Schema-Browser nach, wie der tatsächliche Name lautet.
Eine wichtige Sache zu beachten ist hier, dass eine Abfrage wie diese für Solr teuer zu tun ist, da es einen vollständigen Index-Scan für dieses Feld macht. Wenn Sie viele verschiedene Standortfeldwerte haben (Tausende auf?), Dann ist das eine große Sache. Wenn Sie dies in einer Filterabfrage tun, dann wird es zwischengespeichert und es ist vielleicht strittig. Wenn diese Abfrage schnell ausgeführt werden soll, sollten Sie zur Indexzeit ein boolesches Feld indizieren, um anzugeben, ob in diesem Feld ein Wert vorhanden ist oder nicht.
Dank David scheint die [* TO *] - Syntax in Verbindung mit der Überprüfung beider Begleitfelder korrekt zu funktionieren (z. B. 'field_0_coord: [* TO *] AND field_1_coord: [* TO *]'). Danke auch für den Performance-Tipp! – STW
Sie müssen dies nicht für beide Koordinatenfelder tun, was doppelt so langsam ist, nur eins. Wenn einer einen Wert hat, dann der andere, und umgekehrt. –