2011-07-01 41 views
3

有沒有使用太陽黑子和Rails索引整數列表的方法?使用Solr(太陽黑子)索引整數列表

我希望能夠尋找一個演員ID。
下面的代碼只是僞代碼。

class Movie < ActiveRecord::Base 
    searchable do 
    integers :actors_lists do 
     actors.map(&:id) 
    end 
    end 
end 

需要搜索的演員名字的能力,我只是爲了能夠給搜索者的ID。

我正在使用Rails 3.1 RC與Sunspot 1.2.1和Ruby 1.9.2。

+0

在我看來,你已經有了解決方案。你的僞代碼實際上就是你需要的代碼(假設你的模型中有一個actor_lists)。你能提供更多關於什麼不起作用的細節嗎?搜索方法是不知道如何寫的? – Calin

回答

3

這是我的解決方案。

integer :actors_lists, multiple: true do 
    actors.map(&:id) 
end 

添加multiple: true部分解決了問題。

注意:如果您使用的是Ruby 1.8.7,請記得將multiple: true更改爲:multiple => true

0

如果影片has_and_belongs_to_many:演員則

integer :actor_ids, multiple => true 

應該工作。搜索參數名稱不同,從你想要的,但是這一次是「約定優於配置」的情況下,在這裏你可以使用

:references => ::Actor 

只是覺得我應該提到的所有選項。