2012-07-13 584 views
0

比方說,我有以下情形:thinking_sphinx嵌套日期搜索

class Conference < ActiveRecord::Base 
    has_many :meetings 

    define_index do 
     # index 
    end 
end 

class Meeting < ActiveRecord::Base 
    belongs_to :conference 

    validates_presence_of :start_time 
    validates_presence_of :end_time 
end 

我想基於開始時間來搜索會議,所以當我提供的開始時間,它將返回我的列表在提供的時間之後仍然有開始時間的一次或多次會議。 think_sphinx這可能嗎?至少,我應該如何定義我的索引?

EDIT

搜索需要爲會議(即Conference.seacch)

回答

1
class Meeting < ActiveRecord::Base 
belongs_to :conference 

.. 
define_index do 
    indexes :start_time 
    has conference_id 
    end 
end 

然後

Meeting.search :conditions => {:created_at => 1.week.ago..Time.now} 

http://freelancing-god.github.com/ts/en/indexing.html

http://freelancing-god.github.com/ts/en/searching.html

+0

這很有道理,但在這種情況下,我們正在搜索會議,而不是會議。在會議模型上進行搜索可以實現嗎? – alexs333 2012-07-13 05:06:42

+0

您打算如何搜索從會議開始的會議開始時間?您只需重新路由哪些將在會議表中進行搜索。 「Meeting。* where conference_id = x」您想要搜索的列需要存在於您要使用的模型中。搜索 – 2012-07-13 06:17:37

+0

我想是這樣。畢竟,將索引移動到Metting模型是有效的。 – alexs333 2012-07-17 23:32:04