【问题标题】:Group by entire field value in Tire/ElasticSearch按轮胎/弹性搜索中的整个字段值分组
【发布时间】:2013-04-15 20:27:42
【问题描述】:
我正在使用 Tire rubygem 连接到 ElasticSearch。如何根据特定字段的值返回构面?
例如,我有一个字段areas,我想将前 10 个区域显示为过滤器选项:
区域
def self.search(params={})
Tire.search(page: 1 || params[:page], per_page: 10, load: true) 做
# 设置查询
查询做
布尔值
必须 { string params[:query], default_operator: "AND" } if params[:query].present?
必须 { range :price, { gte: (params[:min_price] || 0), lte: params[:max_price] } } 如果 params[:max_price].present?
结尾
结尾
# 要返回的构面
# 这是我卡住的地方:
方面的“区域”做
术语 [:area_name],大小:10
结尾
结尾
结尾
facet 块刚刚返回:
{"areas"=>{"_type"=>"terms", "missing"=>5754, "total"=>0, "other"=>0, "terms"=>[]}}
即使所有记录都有区域名称的值。
【问题讨论】:
标签:
ruby-on-rails
search
full-text-search
elasticsearch