2010-03-02 108 views
4

我在嘗試使用空間示例搜索位置感知搜索 http://www.ibm.com/developerworks/java/library/j-spatial/#indexing.approaches位置感知搜索

schema.xml有一個geohash字段,但該字段不存在於任何用於索引的.osm文件(存在於數據文件夾中)。我無法理解值是如何分配給它的,所以當我給出這個查詢時

http://localhost:8983/solr/select/?q=_val_:"recip (ghhsin(geohash(44.79, -93), geohash, 3963.205), 1, 1, 0)"^100 

結果集有檢索到的geohash值。它是如何發生的?請幫幫我。

+1

官方空間搜索將與Solr 1.5一起發佈。在此期間您可以使用JTeam的插件:http://www.jteam.nl/news/spatialsolr.html – 2010-03-02 12:31:19

+0

我目前使用Solr 1.5 Nightly build,但鏈接表示ssp與Solr 1.4兼容。我必須只與solr1.4一起去嗎? – kshama 2010-03-02 12:55:33

+0

我不知道。 SSP不像即將到來的空間支持那麼靈活,但它現在*現在可以工作*,使用簡單,並且有很好的文檔記錄。 – 2010-03-02 13:57:15

回答

2

Solr wiki有一個相當不錯的頁面,介紹如何用solr 1.5+完成空間搜索。

總之,你的架構定義了「地理散列」類型的字段:

<fieldtype name="geohash" class="solr.GeoHashField"/> 
<field name="destination" type="geohash" indexed="true" stored="true"/> 

數據饋線傳遞geohashed座標:

<field name="destination">cbj1pb56p4b</field> <!-- 45.17614 -93.87341 --> 

你或許應該回到使用簡單的緯度和經度座標從開始。有更好的文檔。