首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在关联模型上思考Sphinx面

在关联模型上思考Sphinx面
EN

Stack Overflow用户
提问于 2011-01-19 18:11:02
回答 1查看 1K关注 0票数 0

有没有在关联模型的列上定义facet的方法,它的类型是int?如果所有定义为facet的字段都属于关联的模型列,sphinx会将它们转换为字符串吗?

我正在尝试将子表的一列定义为facet.After重建,当我执行Model1.facets时,我得到了这个错误。

代码语言:javascript
复制
class Model1 < ActiveRecord::Base
  ....

  has_many :communities, :through => :model2

  ...

  define indexes

     ...

     indexes model2.community_id, :as => :community_id, :facet => :true

     ...

  end

end

模型1-当前模型模型2-连接模型使用:通过

代码语言:javascript
复制
Model1.facets

NoMethodError: undefined method `to_crc32' for 9:Fixnum
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet.rb:99:in `translate'
        from (irb):3:in `detect'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet.rb:98:in `each'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet.rb:98:in `detect'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet.rb:98:in `translate'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet.rb:75:in `value'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet_search.rb:114:in `add_from_results'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/search.rb:219:in `each_with_groupby_and_count'
        from (irb):3:in `each_with_index'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/search.rb:218:in `each'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/search.rb:218:in `each_with_index'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/search.rb:218:in `each_with_groupby_and_count'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet_search.rb:113:in `add_from_results'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet_search.rb:49:in `populate'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet_search.rb:47:in `each'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet_search.rb:47:in `populate'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/facet_search.rb:13:in `initialize'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/search_methods.rb:422:in `new'
        from D:/Current/TechAssistTest/vendor/plugins/thinking-sphinx/
lib/thinking_sphinx/search_methods.rb:422:in `facets'
        from (irb):3>>
EN

回答 1

Stack Overflow用户

发布于 2011-01-19 19:49:55

如果对facet使用整数,那么应该将它们定义为属性:

代码语言:javascript
复制
has model2.community_id, :as => :community_id, :facet => :true

indexes方法用于字段,这些字段是您希望人们能够搜索的文本数据。我猜使用你网站的人不会在搜索字段中输入社区id。如果不是这样,请留下注释,我将详述如何将community_id既作为字段又作为属性。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4733993

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档