这是正常现象!当您为新数据建立索引时,它不会立即可用,但会在下一次刷新后进行,默认情况下每秒刷新一次。
如果那困扰您,您有几种选择:
- 您可以在发布文档后调用
/_refresh
端点,这将立即刷新索引,并且下一个GET调用将起作用 - 您可以在对文档建立索引时在POST调用中添加
?refresh=true
参数,基本上与1相同 - 您可以在为文档建立索引时在POST调用中添加
?refresh=wait_for
参数,并且仅在进行刷新操作后调用才会返回,以便下一个GET调用将返回文档 - 您可以减少
index.refresh_interval
设置中的值(默认为1秒),以便刷新操作更频繁地进行。
只是知道,从性能的角度来看,实现所需目标的最不积极的方法是3,即ES
5中引入的新参数,该参数不会强制刷新索引,只有在新索引文档可用时才会返回搜索。过于频繁地刷新(1、2和3)可能会降低性能。



