首页 > 解决方案 > Elasticsearch-python - 带刷新的批量帮助 API

问题描述

我需要批量索引多个文档,并尽快让它们可供搜索。所以,我想使用刷新来满足这个要求。

我目前正在使用下面这样的代码。以官网为例

def gendata():
    mywords = ['foo', 'bar', 'baz']
    for word in mywords:
        yield {
            "_index": "mywords",
            "_type": "document",
            "doc": {"word": word},
        }

bulk(es, gendata())

我希望附加一个refresh=true以使其立即可见。

你能帮我知道这可以用 python 批量 API 吗?

标签: pythonelasticsearchelasticsearch-py

解决方案


您可以使用以下refresh参数:

bulk(es, gendata(), refresh="true")

bulk函数文档中没有提到这个参数,但是在方法bulk文档中有描述。

基本上,该bulk方法有一个refresh参数;可用值为:

  • “真的”
  • “等待”
  • “假”(默认值)。

有关更多详细信息,请查看此问题


推荐阅读