[英]elasticsearch-6.8.13, Multi Match Range Query is not working
I am using the ElasticSearch custom DSLs & want to use the query to find the accommodations that have adults gte [:adults] & lte [:perfect_adults].我正在使用 ElasticSearch 自定义 DSL 并希望使用查询来查找具有成人 gte [:adults] 和 lte [:perfect_adults] 的住宿。 Its not working even if we used the static values using this formal docs of elastic search.
即使我们使用弹性搜索的正式文档使用静态值,它也不起作用。 https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html#range-query-top-level-params
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-range-query.html#range-query-top-level-params
if params[:adults].present? && params[:perfect_adults].present?
conditions << { range: { adults: { gte: params[:adults].to_i, lte: params[:perfect_adults].to_i } } }
elsif params[:adults].present?
conditions << { range: { adults: { gte: params[:adults].to_i } } }
conditions << { range: { adults_and_children: { gte: (params[:adults].to_i + params[:children].to_i) } } }
conditions << { range: { minimum_adults: { lte: params[:adults].to_i } } }
end
If you have perfect adults attributes in db then:
conditions << { range: { adults: { gte: params[:adults].to_i } } }
conditions << { range: { perfect_adults: { lte: params[:perfect_adults].to_i } } }
If you don't have perfect adults attributes in db then:
conditions << { range: { adults: { gte: params[:adults].to_i, lte: params[:perfect_adults].to_i } } }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.