思维狮身人面像或状况

芬克斯

您如何conditional or在思维狮身人面像中使用a

情况是:我有一个Message带有sender_id和receive_id属性模型。我想组成这个查询:

  Message.where("sender_id = ? OR recipient_id = ?", business_id, business_id)

现在,我正在搜索两次,一次搜索所有具有receive_id = business_id的消息,另一次返回所有具有sender_id = business_id的消息。然后我将它们合并。

我觉得有一种更有效的方法可以做到这一点。

编辑-添加索引文件

ThinkingSphinx::Index.define :message, with: :active_record, delta: ThinkingSphinx::Deltas::DelayedDelta do
  # fields
  indexes body 

  # attributes
  has job_id
  has sender_id
  has recipient_id

end

Sphinx不允许在属性之间使用OR逻辑,而仅允许使用字段。但是,一种解决方法是将两列合并为第三个属性:

has [sender_id, recipient_id], :as => :business_ids, :multi => true

然后,您可以像这样搜索组合值:

Message.search :with => {:business_ids => business_id}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

思维狮身人面像索引性能

来自分类Dev

思维与狮身人面像过滤与归属

来自分类Dev

带有狮身人面像关联的思维狮身人面像过滤

来自分类Dev

Rails 4-思维狮身人面像日期范围

来自分类Dev

思维狮身人面像搜索不会返回任何结果

来自分类Dev

思维狮身人面像-与布尔字段的嵌套关联

来自分类Dev

思维狮身人面像-多态关联中的搜索数据

来自分类Dev

思维狮身人面像-未定义的方法'klass'

来自分类Dev

思维狮身人面像组/结果集合

来自分类Dev

思维狮身人面像:多索引搜索

来自分类Dev

HAS中的狮身人面像状况的思考

来自分类Dev

通过思维狮身人面像将语法更正为HAVING

来自分类Dev

思维狮身人面像-使用OR的属性过滤器的多个条件

来自分类Dev

思维狮身人面像返回的结果不符合标准

来自分类Dev

思维狮身人面像has_many和has_many:through

来自分类Dev

如何在黄瓜测试中集成parallel_test和思维狮身人面像?

来自分类Dev

思维狮身人面像-允许具有属性过滤器的null和OR逻辑

来自分类Dev

思维狮身人面像-带有相交和子查询的复杂查询

来自分类Dev

如何使用思维狮身人面像搜索1970年之前的日期?

来自分类Dev

思维狮身人面像范围搜索中缺少引号

来自分类Dev

狮身人面像搜索索引

来自分类Dev

URL中的狮身人面像替换

来自分类Dev

laravel 5狮身人面像搜索

来自分类Dev

狮身人面像搜索索引

来自分类Dev

狮身人面像排序和分组

来自分类Dev

狮身人面像搜索和Laravel

来自分类Dev

laravel 5狮身人面像搜索

来自分类Dev

特定顺序的狮身人面像搜索

来自分类Dev

诗歌 + 狮身人面像 + Cython