elasticsearch 弹性搜索应用程序端连接-分页和聚合,elasticsearch,pagination,elasticsearch,Pagination" /> elasticsearch 弹性搜索应用程序端连接-分页和聚合,elasticsearch,pagination,elasticsearch,Pagination" />

elasticsearch 弹性搜索应用程序端连接-分页和聚合

elasticsearch 弹性搜索应用程序端连接-分页和聚合,elasticsearch,pagination,elasticsearch,Pagination,我在db中有多对多关系。当记录被编入索引时,将使用弹性搜索。如果将Elasticsearch的两个结果集合并,则必须在应用程序级别进行合并,这将丢失Elasticsearch提供的开箱即用的分页功能(在应用程序端的合并结果集上),而且最重要的是。在使用应用程序端连接和合并应用程序端结果的同时,试图找到利用ES聚合和分页的方法 在应用程序端连接之后,您始终可以使用两个查询的结果创建一个临时索引;只需对分页结果进行循环,并对每个结果集的每个“页面”进行批量索引。这样你就可以很容易地对它进行聚合了。@

我在db中有多对多关系。当记录被编入索引时,将使用弹性搜索。如果将Elasticsearch的两个结果集合并,则必须在应用程序级别进行合并,这将丢失Elasticsearch提供的开箱即用的分页功能(在应用程序端的合并结果集上),而且最重要的是。在使用应用程序端连接和合并应用程序端结果的同时,试图找到利用ES聚合和分页的方法

在应用程序端连接之后,您始终可以使用两个查询的结果创建一个临时索引;只需对分页结果进行循环,并对每个结果集的每个“页面”进行批量索引。这样你就可以很容易地对它进行聚合了。@SloanAhrens:这是一个有趣的想法。想知道关于这个想法的一些事情。首先是应用程序将首先运行时对用户的响应时间1)连接前两个查询的结果2)将新数据集索引到“临时”索引中,然后从临时索引中获取所有记录,然后清除“临时”索引,以便为下一次查询运行提供一个干净的记录?想知道这会不会太耗费资源?应用程序必须首先将合并的数据索引到“临时”索引中,然后从中读取数据,然后删除所有这些数据?是的,这可能不是您可以实时执行的操作。除非你有真正耐心的用户。或大量服务器。;)