gpt4 book ai didi

elasticsearch - 在Elasticsearch中返回不同的值

转载 作者:行者123 更新时间:2023-12-02 23:27:21 24 4
gpt4 key购买 nike

我正在尝试解决一个问题,我必须在搜索中获得不同的结果。

{
"name" : "ABC",
"favorite_cars" : [ "ferrari","toyota" ]
}, {
"name" : "ABC",
"favorite_cars" : [ "ferrari","toyota" ]
}, {
"name" : "GEORGE",
"favorite_cars" : [ "honda","Hyundae" ]
}

当我对喜欢的汽车执行“词条查询”时,“ 法拉利”。我得到两个名为 ABC 的结果。我只希望在这种情况下返回的结果应该是1。所以我的要求是,如果我可以在名称字段上应用一个唯一的字段来接收一个1结果。

谢谢

最佳答案

实现所需目标的一种方法是在terms字段上使用name聚合,然后使用大小为1的 top_hits sub-aggregation,如下所示:

{
"size": 0,
"query": {
"term": {
"favorite_cars": "ferrari"
}
},
"aggs": {
"names": {
"terms": {
"field": "name"
},
"aggs": {
"single_result": {
"top_hits": {
"size": 1
}
}
}
}
}
}

这样,您将获得单个术语 ABC,然后将其嵌套到单个匹配文档中

关于elasticsearch - 在Elasticsearch中返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41336343/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com