ruby-on-rails - 如何仅在使用 ElasticSearch 和 Tire 存在时按属性过滤搜索?

标签 ruby-on-rails ruby full-text-search elasticsearch tire

现在我写

Tire.search INDEX_NAME do
  query do
    filtered do
      query { string term }
      filter :or, { missing: { field: :app_id } },
                  { terms: { app_id: app_ids } }
    end
  end
end.results.to_a

最佳答案

返回没有 app_id 或与您的条件匹配的项目听起来像是 or 过滤器的工作 - 我会尝试

filter :or, [
    {:not => {:exists => {:field => :app_id}}},
    {:terms => {:app_id => app_ids}}
  ]

关于ruby-on-rails - 如何仅在使用 ElasticSearch 和 Tire 存在时按属性过滤搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14259213/

相关文章:

ruby-on-rails - 向 ActiveRecord 枚举字段添加属性

ruby-on-rails - rails 中的线程会自动打开数据库连接吗?

ruby-on-rails - Rails 3 打印页

django - 带有django-haystack的Elasticsearch自动运行更新索引

ruby-on-rails - 如何使用 Omniauth + capybara 测试 FB Connect?

ruby - Nokogiri 和随机 div 名称

ruby - 循环迭代 - 检查是否没有产生任何项目

Ruby 通过引用更改哈希值

json - PostgreSQL 9.4 - jsonb 数组的元素到 ts_vector 中

php - MySQL 全文搜索不适用于特定单词