Go ElasticSearch上具有特定搜索类型的分页
我们目前正在使用ElasticSearch 6.7,并且有大量的数据,使得一些请求花费了太多的时间。 为了避免这个问题,我们希望在对elasticsearch的研究中设置分页。问题是我不能将ES提出的分页方法之一放在已经存在的不同请求上。 例如,此请求包含不同的聚合和查询: 此外,在收集信息后对结果进行排序 我尝试使用Go ElasticSearch上具有特定搜索类型的分页,go,elasticsearch,elasticsearch-6,Go,elasticsearch,Elasticsearch 6,我们目前正在使用ElasticSearch 6.7,并且有大量的数据,使得一些请求花费了太多的时间。 为了避免这个问题,我们希望在对elasticsearch的研究中设置分页。问题是我不能将ES提出的分页方法之一放在已经存在的不同请求上。 例如,此请求包含不同的聚合和查询: 此外,在收集信息后对结果进行排序 我尝试使用from和size设置搜索后方法以及分页形式。 Scroll不适用于聚合,并且复合聚合不接受查询 所以,在ElasticSearch中结合其他请求类型进行分页有什么好方法,以及如何
from
和size
设置搜索后方法以及分页形式。
Scroll不适用于聚合,并且复合聚合不接受查询
所以,在ElasticSearch中结合其他请求类型进行分页有什么好方法,以及如何使用上面的示例进行分页
复合聚合不接受查询
它不接受查询。在下面的示例中,根据play_名称过滤结果。聚合只应用于查询结果,可以使用after
选项对其进行分页
{
"query": {
"term": {
"play_name": "A Winters Tale"
}
},
"size": 0,
"aggs": {
"speaker": {
"composite": {
"after": {
"product": "FLORIZEL"
},
"sources": [
{
"product": {
"terms": {
"field": "speaker"
}
}
}
]
},
"aggs": {
"speech_number": {
"terms": {
"field": "speech_number"
},
"aggs": {
"line_id": {
"terms": {
"field": "line_id"
}
}
}
}
}
}
}
}
我应该如何向这样的请求中添加组合@clement trackit您可以使用子聚合参考似乎您可以稍微更改映射,根据我所了解的,您的映射应该根据您的搜索用例进行优化,而不是根据您的数据,理想情况下,您不需要在查询时执行任何操作,这就是保持一个与关系数据库不同的平面嵌套结构的全部意义