限制弹性查询并不复杂,例如:
` "query":{
"bool":{
"must":[
{"terms":{"brand":["micromax","samsung"]}},
{
"bool":{
"should":[
{ "range": { "price": { "gte": 6000, "lte": 10000 } } },
{ "range": { "price": { "gte": 16000, "lte": 30000 } } }
]
}
}
]
}
}`
但是,如何在复杂的条件下限制弹性建议(条件为“匹配”,“必须”,“应该”,“不”,…不同领域)?
可以在'collate'中设置复杂条件吗?
1条答案
按热度按时间von4xj4u1#
如果你按照post说的做,你可以创建一个索引,并通过聚合提出你的建议。请注意,我使用了一个分析器,并且aggs位于关键字类型字段中。在本例中,您搜索“micr”并收到建议“micromax”。如果您更改价格,则如果价格大于10,建议将不会返回结果。这样,您就可以在建议中应用限制规则(您想要的方式)。
Map
数据
查询
结果: