elasticsearch 两台elasticsearch服务器之间的负载平衡,elasticsearch,load-balancing,elasticsearch,Load Balancing" /> elasticsearch 两台elasticsearch服务器之间的负载平衡,elasticsearch,load-balancing,elasticsearch,Load Balancing" />

elasticsearch 两台elasticsearch服务器之间的负载平衡

elasticsearch 两台elasticsearch服务器之间的负载平衡,elasticsearch,load-balancing,elasticsearch,Load Balancing,我有两个ElasticSearch服务器: http://12.13.54.333:9200 及 在第一台服务器中,我有100k的数据id=1到id=100k,在第二台服务器中,我有100k的数据id=100k+1到200k 我想在两台服务器上的一个请求中对关键字obama进行文本搜索。这可能吗?雷文德拉·库马尔 Elasticsearch应该会为您处理这一问题。Elasticsearch从头开始构建,用于分布式和分布式搜索 基本上,如果这些服务器在同一个集群中,您将有两个分片,第一个分片持有

我有两个ElasticSearch服务器:

http://12.13.54.333:9200

在第一台服务器中,我有100k的数据id=1到id=100k,在第二台服务器中,我有100k的数据id=100k+1到200k

我想在两台服务器上的一个请求中对关键字obama进行文本搜索。这可能吗?

雷文德拉·库马尔

Elasticsearch应该会为您处理这一问题。Elasticsearch从头开始构建,用于分布式和分布式搜索

基本上,如果这些服务器在同一个集群中,您将有两个分片,第一个分片持有1到100k的id,第二个分片持有100001到200k的id。当你搜索某个东西时,不管它点击哪台服务器,它都会在两台服务器上进行搜索,并为客户端返回结果。elasticsearch的内部行为过于广泛,此处无法解释

雷文德拉·库马尔

Elasticsearch应该会为您处理这一问题。Elasticsearch从头开始构建,用于分布式和分布式搜索


基本上,如果这些服务器在同一个集群中,您将有两个分片,第一个分片持有1到100k的id,第二个分片持有100001到200k的id。当你搜索某个东西时,不管它点击哪台服务器,它都会在两台服务器上进行搜索,并为客户端返回结果。elasticsearch的内部行为过于广泛,此处无法解释

你的问题有点笼统……我尽量不给出一个“视情况而定”的答案,但为了做到这一点,我必须做出一些假设

这两台服务器实际上是同一elasticsearch集群上的两个节点吗?我想是的

您是否在由多个碎片组成的elasticsearch索引上索引数据?我想是的。elasticsearch中的默认值是五个碎片,在您的示例中,这将导致一个节点上有两个碎片,另一个节点上有三个碎片

然后,您可以通过RESTAPI将查询发送到其中一个节点。该查询将在所有碎片上执行,索引可以是由多个碎片组成的。如果您有副本,那么在查询时也可能会使用副本碎片。然后,接收查询的节点将减少从返回最相关碎片的所有碎片中获得的搜索结果

更具体地说,每个碎片上的搜索阶段很可能只收集文档ID及其分数。一旦您点击的节点减少了结果,它就可以获取所有需要的字段,通常是它应该返回的文档的唯一字段

elasticsearch的好处在于,即使您在不同的索引上为数据编制了索引,您也可以查询多个索引,并且一切都将与我描述的一样工作。在一天结束时,每个索引都由碎片组成,用一个碎片查询十个索引与用十个碎片查询一个索引相同


我所描述的应用于elasticsearch使用的默认值,称为query\u then\u fetch。在需要时,您最终可以使用其他搜索类型,例如,计数不做任何减少或获取,只返回在所有碎片上执行查询的命中数,并返回每个碎片的所有命中数之和。

您的问题有点笼统……我将尝试不给出一个它依赖的答案,但为了做到这一点,我必须做出一些假设

这两台服务器实际上是同一elasticsearch集群上的两个节点吗?我想是的

您是否在由多个碎片组成的elasticsearch索引上索引数据?我想是的。elasticsearch中的默认值是五个碎片,在您的示例中,这将导致一个节点上有两个碎片,另一个节点上有三个碎片

然后,您可以通过RESTAPI将查询发送到其中一个节点。该查询将在所有碎片上执行,索引可以是由多个碎片组成的。如果您有副本,那么在查询时也可能会使用副本碎片。然后,接收查询的节点将减少从返回最相关碎片的所有碎片中获得的搜索结果

更具体地说,每个碎片上的搜索阶段很可能只收集文档ID及其分数。一旦您点击的节点减少了结果,它就可以获取所有需要的字段,通常是它应该返回的文档的唯一字段

elasticsearch的好处在于,即使您在不同的索引上为数据编制了索引,您也可以查询多个索引,并且一切都将与我描述的一样工作。在一天结束时,每个索引都由碎片组成,用一个碎片查询十个索引与用十个碎片查询一个索引相同

我所描述的应用于elasticsearch使用的默认值,称为query\u then\u fetch。还有其他一些搜索类型,您最终可以在需要时使用,例如count
'不执行任何减少或获取操作,只返回在所有碎片上执行查询的命中数,并返回每个碎片的所有命中数之和。

这两个节点是同一集群的一部分吗?这两个节点是同一集群的一部分吗?
http://65.98.54.10:9200