簡體   English   中英

在Solrj中設置偽字段(fl)

[英]Setting pseudo fields (fl) in Solrj

我想使用一個偽字段來返回距我的Solr(地理)空間搜索中心的距離,如此處所述: http ://wiki.apache.org/solr/SpatialSearch#geodist_-_The_distance_function如下所示:

返回距離

Solr4.0

通過將fl = geodist()添加到請求中,可以使用偽字段功能返回距離以及每個文檔的存儲字段。 使用類似fl = dist :geodist()的別名使距離返回到dist偽字段中。 這是一個按距離遞增排序並以dist返回每個文檔的距離的示例。

...&q = &sfield = store&pt = 45.15,-93.85&sort = geodist()asc&fl = dist :geodist()

現在,我正在使用solrj (4.5.1),但是我找不到正確設置fl=_dist_:geodist()部分的方法。 我實際上可以設法將其添加到solrQuery對象中:

solrQuery.setParam('fl', '_dist_:geodist()')

沒有編譯錯誤,但是由於某種原因,這弄亂了我返回的文檔。

有什么想法應該怎么做?

附言 代碼采用groovy語言,不要因為單引號內沒有分號或字符串而苦惱:)

*更新*

如上所述設置fl參數實際上會返回僅包含_dist_字段的文檔!

經過幾分鍾的搜索,我找到了這篇文章: http : //solr.pl/zh-CN/2011/11/22/solr-4-0-new-fl-parameter-functionalities-first-look/

它說明了如何返回除所有其他參數外的新別名字段,就像這樣(請注意*部分):

fl=*,stock:sum(stockMain,stockShop)

因此,在我的solrj示例中,它將是:

solrQuery.setParam('fl', '*,_dist_:geodist()')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM