Как добавить Spatial Solr в запрос Solrnet
Я использую Solr на своей машине с Windows, используя причал. Я скачалПространственный плагин Solr который мне наконец удалось поднять и запустить. Я также использую Solrnet для запросов к Solr из моего проекта asp.net mvc.
Теперь, добавление данных в мой индекс, кажется, работает нормально, и SpatialTierUpdateProcessorFactory также работает.
Проблема в:
Как добавить пространственный запрос к моему обычному запросу с использованием библиотеки Solrnet. Я попытался добавить его с помощью параметра «ExtraParams», но это не сработало.
Вот пример того, как я пытался объединить пространственный запрос с запросом диапазона данных. Запрос диапазона дат работает нормально без привязанного к нему пространственного запроса:
new SolrQuery("{!spatial lat=51.5224 long=-2.6257 radius=10000 unit=km calc=arc threadCount=2}") && new SolrQuery(MyCustomQuery.Query) && new SolrQuery(DateRangeQuery);
что приводит к следующему запросу к Solr:
(({!spatial lat=51.5224 long=-2.6257 radius=100 unit=km calc=arc threadCount=2} AND *:*) AND _date:[2010-05-07T13:13:37Z TO 2011-05-07T13:13:37Z])
И сообщение об ошибке, которое я получаю обратно:
Удаленный сервер возвратил ошибку: (400) Bad Request.
SEVERE: org.apache.solr.common.SolrException: org.apache.lucene.queryParser.Pars
eException: Cannot parse '(({!spatial lat=51.5224 lng=-2.6257 radius=10000 unit=
km calc=arc threadCount=2} AND *:*) AND _date:[2010-05-07T13:09:49Z TO 2011-05-0
7T13:09:49Z])': Encountered " <RANGEEX_GOOP> "lng=-2.6257 "" at line 1, column 2
4.
Was expecting:
"}" ...
Теперь дело в том, что если я использую страницу Solr Web Admin и выполняю следующий запрос к ней, все работает нормально.
{!spatial lat=50.8371 long=4.35536 radius=100 calc=arc unit=km threadcount=2}text:London
Каков наилучший / правильный способ вызова пространственной функции с использованием SolrNet. Это лучший способ как-то вручную добавить этот бит запроса в строку запроса, и так как?