Elasticsearch显示类似查询的错误数据

时间:2016-07-14 12:10:27

标签: elasticsearch lucene

Elasticsearch显示错误的查询数据。 我以不同的方式进行相同的查询,第一个是

**GET  salesindex/salesmarket/368**

,结果显示我更新的正确数据  " DeletedID":2,

但是

POST  salesindex/salesmarket/_search
{ "query":{"bool": {"must": [{"term": {"salesId": 368}}]}}}

我得到了相同数据的错误结果  " DeletedID":1,

然后我清除缓存并尝试,它显示相同的结果但是在2-3分钟后它显示正确的结果。 salesId是我的文档ID 我无法理解弹性搜索的这种行为。

1 个答案:

答案 0 :(得分:0)

在情况一中,您可以通过文档的ID执行GET,即可获得即时访问权限。但是,当您执行查询时,如情况2,您必须等待刷新发生。如果没有刷新,则新的或更新的文档尚未添加到Lucene缓存中。您也可以使用显式刷新尝试相同的方法。请注意,除非更新量不高,否则通常情况下这不是您想要的生产。

简而言之: 通过id获取:实时 搜索:近实时

希望有所帮助