0
我使用轮胎rubygem连接到ElasticSearch。你如何根据特定字段的值返回方面?按轮胎/弹性搜索中的整个字段值分组
例如,我有一个字段areas
,我想显示前10个领域的过滤器选项:
地区
- 上东区22
- 华西村15
- Soho 8
- etc ...
def self.search(params={}) tire.search(page: 1 || params[:page], per_page: 10, load: true) do # Set up query query do boolean do must { string params[:query], default_operator: "AND" } if params[:query].present? must { range :price, { gte: (params[:min_price] || 0), lte: params[:max_price] } } if params[:max_price].present? end end # Facets to return # this is where I get stuck: facet 'areas' do terms [:area_name], size: 10 end end end
小面块刚刚返回:
{"areas"=>{"_type"=>"terms", "missing"=>5754, "total"=>0, "other"=>0, "terms"=>[]}}
即使所有的记录有区域名称的值。