Как сделать полигональный пространственный поиск в Solr? - PullRequest
0 голосов
/ 26 июля 2011

Мы используем Solr 3.3 с Solr.NET, и мы поместили динамическое поле типа местоположения «location_p» в наши документы, и теперь нам нужна возможность выполнять пространственный поиск.

У меня есть поиски по радиусу (расстояние от заданной точки), работающие так:

{!geofilt sfield=location_p pt=33.882518712472255,-84.05531775646972 d=1.7}

Теперь нам нужна возможность выполнить запрос полигона, чтобы получить все документы с "location_p"поле" внутри "заданного набора точек (что-то вроде возможностей поиска Polygon ElasticSearch ).

Это действительно отличается от фильтра запросов BBox, поскольку точкиПолигоны не являются симметричными, более случайными, основываясь на точках «клика» пользователя.

Будем благодарны за любые идеи или предложения.

1 Ответ

2 голосов
/ 27 июля 2011

Насколько я знаю, Solr в настоящее время не реализует пространственный поиск по полигонам.

Существует несколько попыток реализовать это ( SOLR-2155 , SOLR-2268).Попробуйте применить один из этих патчей, протестировать его, внести свой вклад в проект.

Также имеется плагин Spatial Solr , который реализует поиск многоугольников, но совместим только с Solr 1.4.

Смотрите также http://wiki.apache.org/incubator/SpatialProposal

...