【问题标题】:Filtering Tire results by status按状态过滤轮胎结果
【发布时间】:2013-04-29 16:59:01
【问题描述】:

我正在尝试通过“status_id”过滤我的轮胎搜索结果。我不想显示 'status_id' 为 2 的结果。

这是我当前的搜索代码:

query = params[:query]
page = params[:page] || 1
per_page = params[:per_page] || 5
offset = page.to_i - 1 < 0 ? 0 : (page.to_i - 1) * per_page

@results = Tire.search INDEX_NAME do
  query { string query }
  from offset
  size per_page
end

我尝试过使用:

filter :terms, status_id: '1'
filter :string, status_id: '1'
filter :integer, status_id: '1'

但它们都不起作用。但是,理想情况下,我希望获得所有不是“2”的结果,而不仅仅是选择“1”的结果。

json 中的 elasticsearch 正确返回了 status_id。

任何帮助都会很棒。

谢谢。

【问题讨论】:

标签: ruby-on-rails filter elasticsearch tire


【解决方案1】:
filter :term, :status_id => 1

应该可以。术语过滤器需要一系列可能的术语,这就是您的尝试没有成功的原因。

如果你想使用 not 过滤器,比如

filter :not, {:term => {:status_id => 2}}

应该可以。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2013-10-20
  • 1970-01-01
  • 1970-01-01
  • 2013-07-27
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多