我怀疑正在发生的事情是您在代码中的索引操作之后立即进行搜索。但是,在Elasticsearch中,文档尚未准备好立即进行搜索。请参阅此处的刷新间隔设置。(因此,当您使用其余客户端时,由于必须在选项卡之间手动滑动等事实,您正在等待几秒钟)。
您可以通过在索引后面放置Thread.sleep(3000)来快速测试。如果可以确认它可以正常工作,那么您需要考虑如何编写程序。
通常,您只是索引,当数据可用时,它便可用。这称为最终一致性。在此期间(秒),用户可能无法使用它进行搜索。通常这不是问题。
如果这是一个问题,那么您将必须做一些技巧,就像我们在elastic4s的单元测试中所做的那样,在这里您要不断“计数”,直到获得正确数量的文档为止。
最后,您还可以手动调用“刷新”索引以加快速度
client.execute { refresh index "indexname"}但这通常仅在您关闭批量插入的自动刷新时才使用。



