lets say records have city field as an array of city names.
记录,例如:
record 1:
{
cities : [
{name: city1},
{name : city2},
{name : city3}
]
}
record 2:
{
cities : [
{name: city2},
{name : city3},
{name : city4}
]
}
record 3:
{
cities : [
{name: city3},
{name : city4},
{name : city5}
]
}
要求:我的筛选条件是获取与city1、city2或city3匹配的记录,但由于记录1与所有3匹配,所以它应该排在第一位,而记录2与2匹配,所以它应该排在第二位,而记录3只与一个匹配,所以它应该排在最后。
2条答案
按热度按时间vptzau2j1#
使用嵌套布尔查询添加另一个答案:
索引Map:
索引数据:
搜索查询:
搜索结果:
flvtvl502#
你不必使用
nested
由于数据类型没有嵌套的属性或复杂的对象,所以它非常简单且易于实现。工作示例
索引Map
索引示例文档
搜索查询
以及搜索结果与适当的预期结果和得分