我有一個看起來像這樣的Solr文件:是否可以過濾solr Document中返回的字段?
<doc>
<str name="some_attribute">some_attribute_value</str>
<!-- ... -->
<arr name="locationCoordinates">
<str>48.117,11.539</str>
<str>23.423,11.342</str>
<!-- ... -->
</arr>
</doc>
我的問題是它是否可以過濾文檔的返回的字段只返回特定的值,例如只返回locationCoordinates
有不到50另一點的公里範圍內,並讓其他人離開。
I.e.返回上面的文件,但只有第一個locationCoordinates
。
我真的不知道這是否應該可能在Solr(因爲面向文檔的結構),但我至少可以問:)。
也許我也應該闡述我想要使用此功能,並替代我「發現」這一方式:
更改文檔設計打造每個位置(臨一個文件:作品,缺點:需要檢查客戶端上的重複數據,Solr數據庫中的重複數據堆)
讓它具有此結構(臨:工作,不必更改當前結構,缺點:我有自己排列正確的座標(在客戶端),因此遇到距離計算問題(我已經過濾瞭如果我計算客戶端的距離很糟糕,我可能會丟失一些數據)
爲Solr上的位置(以及它們的名稱等)創建一個新的Document「type」並使用類似外鍵的結構將位置添加到文章中,爲了計算距離,我必須先查詢可到達的位置,然後加入文章(Pro:所有工作都在Solr端,Cons :我需要的Solr,加入爲)
答案很可能在這個問題上找到: http://stackoverflow.com/questions/14015696/limiting-filtering-multivalue-fields-in-solr 但我怎麼能實現上述的行爲? – 2013-03-25 10:22:58