使用ActiveRecord加入Thi​​nking Sphinx

时间:2017-08-23 16:21:07

标签: ruby-on-rails thinking-sphinx

当使用Thinking Sphinx与A类到B类的has_one关联(B具有belongs_to语句),在A上建立索引时,可以在索引中使用has_many关联和join语句。当然,这导致SphinxQL查询在B的主键上分组。但是,当我尝试使用与B上的索引相同的关联时,我显然无法使用belongs_to方面的关联。我的问题是,是否可以使用belongs_to关联,还是有解决方法?以下是我的代码的相关部分:

class IdentAssociation < ActiveRecord::Base
  has_many :donees, :foreign_key => :ident_id, :class_name => "Donees"
...

class Donees < ActiveRecord::Base
  belongs_to :ident_association, :foreign_key => :ident_id
...

ThinkingSphinx::Index.define :donees, :with => :active_record do
  join ident_association
...

1 个答案:

答案 0 :(得分:0)

是的,我想我必须错误输入关联的名称。我还遇到了一些其他问题,例如sphinx抱怨缺少sphinx_internal_class_name;但这超出了范围。