我在使用jetty的Windows計算機上運行Solr。我已經下載了Spatial Solr Plugin,我終於成功運行了。我也使用Solrnet從我的asp.net mvc項目查詢Solr。如何將Spatial Solr添加到Solrnet查詢
現在,將數據添加到我的索引似乎工作正常,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)錯誤的請求。
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空間功能的最好/正確的方法。以某種方式將查詢手動添加到查詢字符串中的最佳方法是如何?
乾杯!正是我需要的。我通過手動調整查詢字符串來解決問題,但是您的解決方案是更好/更乾淨的方法。非常感謝! – Flo 2010-05-08 17:34:54