Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go ElasticSearch上具有特定搜索类型的分页_Go_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Elasticsearch 6 - Fatal编程技术网 elasticsearch,elasticsearch-6,Go,elasticsearch,Elasticsearch 6" /> elasticsearch,elasticsearch-6,Go,elasticsearch,Elasticsearch 6" />

Go ElasticSearch上具有特定搜索类型的分页

Go ElasticSearch上具有特定搜索类型的分页,go,elasticsearch,elasticsearch-6,Go,elasticsearch,Elasticsearch 6,我们目前正在使用ElasticSearch 6.7,并且有大量的数据,使得一些请求花费了太多的时间。 为了避免这个问题,我们希望在对elasticsearch的研究中设置分页。问题是我不能将ES提出的分页方法之一放在已经存在的不同请求上。 例如,此请求包含不同的聚合和查询: 此外,在收集信息后对结果进行排序 我尝试使用from和size设置搜索后方法以及分页形式。 Scroll不适用于聚合,并且复合聚合不接受查询 所以,在ElasticSearch中结合其他请求类型进行分页有什么好方法,以及如何

我们目前正在使用ElasticSearch 6.7,并且有大量的数据,使得一些请求花费了太多的时间。 为了避免这个问题,我们希望在对elasticsearch的研究中设置分页。问题是我不能将ES提出的分页方法之一放在已经存在的不同请求上。 例如,此请求包含不同的聚合和查询: 此外,在收集信息后对结果进行排序

我尝试使用
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您可以使用子聚合参考似乎您可以稍微更改映射,根据我所了解的,您的映射应该根据您的搜索用例进行优化,而不是根据您的数据,理想情况下,您不需要在查询时执行任何操作,这就是保持一个与关系数据库不同的平面嵌套结构的全部意义