【发布时间】:2019-07-15 01:28:48
【问题描述】:
我正在使用python-dsl 客户端运行弹性搜索的本地实例。
某些呼叫似乎无法正常工作。
Hee 是一个可快速运行的示例
import time
import elasticsearch_dsl
from elasticsearch import Elasticsearch
from elasticsearch_dsl import Search
e = Elasticsearch()
q = {"hello": "world"}
for i in range(3):
e.index("wtf", q)
s: Search = Search(using=e, index="wtf").query("match_all")
for i in s:
print(i.to_dict())
s: Search = Search(using=e, index="wtf").query("match_all").delete()
我希望索引wtf 中的所有文档都被删除(因为这是最后一个查询)。但是当我去http://localhost:9200/wtf/_search?pretty=true&q=:,
它向我显示了三个 json blob...大概是因为 delete() 调用根本没有运行。
但是:
如果我在index() and delete() 调用之间穿插time.sleep(3),我会得到预期的输出:没有json blobs
这是怎么回事?
我正在本地运行 elasticsearch-6.5.0. 的二进制文件
【问题讨论】: