【发布时间】:2023-03-09 00:16:01
【问题描述】:
试图在弹性搜索上运行术语查询,但不知道如何将返回限制为唯一的结果? 假设这是查询。
"query": {
"bool": {
"must": [{
"terms": {
"id": [
"1",
"2",
"3",
],
"boost": 1.0
}
}],
"adjust_pure_negative": true,
"boost": 1.0
}
},
"aggs": {
"top-results": {
"terms": {
"field": "id"
},
"aggs": {
"test": {
"top_hits": {
"size": 1
}
}
}
}
}
理想情况下,我希望只返回 3 个结果,每个结果与 1、2 或 3 的 id 匹配,但此查询返回的结果远不止这些。
【问题讨论】:
-
您是否在寻找按 ID 查询?如果是,则有一个 IDs Query elastic.co/guide/en/elasticsearch/reference/current/…
-
Id 只是映射中的一个字段,多个条目可以有相同的 id 值,不一定是 ID,实际上可以是任何字段。我只想要与 id 的值匹配的第一个结果条目。 IE 索引可以有 10 个条目,其中 1 作为 id 的值,20 作为 2 等,但我只想要 id 值为 1 的第一个条目结果,id 值为 2 的第一个条目结果等
标签: elasticsearch elasticsearch-aggregation