2012-01-16 27 views
0

標題不清楚,所以讓我解釋一下:太陽黑子:發現一個國家或州的所有事件

在我的應用程序中,我有事件。他們是地理定位的:我存儲經緯度。 我的問題是,當用戶搜索事件時,他們輸入的東西類似於:kansas,montreal等 因此,當我找到kansas(使用地理編碼器),我得到它的「中心」,所以當我問太陽黑子的事件「靠近「這個位置,我只能找到靠近位置中心的那個。如果他們輸入franceaustralia就更糟了。

我想知道你是否知道處理這個問題的好方法。

我唯一的想法,現在是還存放了country時,它保存了事件的位置,state等(我可以從谷歌的標準化地址),然後做一個文本搜索什麼,他們在進入位置字段...

但有關於這種做法:(
Solr中,這是不可能做到以下幾點問題:

any_of do 
    with(:coordinates).near(coord[0], coord[1], :precision => 3) 
    keywords where 
end 

因爲near不能嵌套See here.

他們是否對太陽黑子1.3進行了更改以允許這樣做?

您是否看到其他解決方案?我甚至可能會接受從solr到另一個搜索平臺(如彈性搜索)的轉變,但我不想。

回答

1

我切換到ElasticSearch,我絕對喜歡它。對於地理位置搜索來說,這樣更好...我仍然有一些方面的問題,但總體而言,我會推薦ES over sunspot來開啓一個新應用程序。