Elasticsearch 不会更新结果

Elasticsearch won't update results

我正在使用 Elasticsearch 6.6.0 和 elasticsearch-py 6.3.0。我将一些数据放入 Elasticsearch,然后将这个小函数设为 return Elasticsearch 中特定变量的所有值的列表:

from elasticsearch import Elasticsearch
es = Elasticsearch
def get_prior_records():
    records = es.search(
        index="my_index",
        body={"query": {"match_all": {}}, "_source": ["var_i_want"]})
    return [item["_source"]["var_i_want"] for item in records["hits"]["hits"]]

我第一次 运行 这个函数,它完美地工作并且 returns 是数据库中 var_i_want 的所有实例的列表。但是,当我向数据库添加更多数据(并通过 Kibana 确认数据在那里)时,该函数会向我保留 returning 原始列表。我无法获得包含我的新数据的列表。

我做错了什么?为什么我的搜索不更新结果?

可能的原因是您没有传呼

default size of search hits 由搜索请求正文中提供的 "size" 属性控制,默认为 10。

如果您想获取下一页结果,请在查询 api 中使用大小和属性请求。