url:
officialdoc:
for example, to sort your results by ascending distance, enter ...&q=*:*&fq=&sfield=store&pt
. =45.15,-93.85&d=50&sort=geodist asc
to return the distance as the document score, enter ...&q=geodist()&sfield=store&pt=45.15,-. 93.85&sort=score+asc
精確按照點和距離搜尋,geofilt函式為圓形計算:
&q=geodist()&fq=&sfield=latilongitude&pt=45.15,93.85&d=5&sort=score+asc
geofilt函式為方形距離計算:
&q=geodist()&fq=&sfield=latilongitude&pt=45.15,93.85&d=5&sort=score+asc
solrj:
solrquery.setquery("geodist()"); // 以名稱為score作為距離返回 使sfield及pt引數生效
// solrquery.set("spatial", true);
solrquery.addfilterquery(""); // 限定距離,使"d"引數生效
solrquery.set("sfield", "latilongitude"); // 設定查詢的經緯度字段
solrquery.set("pt", latilongitude); // 設定查詢 點
solrquery.set("d", distance); // 設定查詢半徑
solrquery.setsort("score", solrquery.order.asc); // score在geodist()函式下含義為距離,按照最近距離排序
// solrquery.setsort("geodist()", solrquery.order.asc);//被setsort("score", solrquery.order.asc)替代
// 追加其它條件
// solrquery.addfilterquery(querystring); // 可有可沒有...
// 設定返回字段,根據需求定製, score為距離
query.setfields("latilongitude
","score");
參考:
solr查詢語法
首先假設我的資料裡fields有 name,subbranch,tel,address 預設的搜尋是name這個字段,如果要搜尋的資料剛好就是 name 這個字段,就不需要指定搜尋欄位名稱.2.查詢規則 如欲查詢特定字段 非預設字段 請在查詢詞前加上該欄位名稱加 不包含 號 符號,例如 addres...
solr查詢語法
區間範圍查詢 組合 區間條件 if minprice.intvalue 0 maxprice 0 1.首先假設我的資料裡fields有 name,subbranch,tel,address 預設的搜尋是name這個字段,如果要搜尋的資料剛好就是 name 這個字段,就不需要指定搜尋欄位名稱.2.查詢...
Solr 查詢語法
摘要 預設的solr查詢語法擴充套件了lucene的語法,其目的也就是檢索索引。solr的查詢用到了引數q,標準的查詢語法就想下面這樣 可以使用debug query來分析查詢過程 debug 一般來說,response會包含匹配程度最好的文件,但是上面例子中,沒有文件滿足這一查詢。在debug資訊...