在ElasticSearch中如何检查字段是否存在,然后应仅返回布尔值(True或False)

时间:2020-10-15 06:34:10

标签: python elasticsearch

我要检查Elasticsearch文档中是否存在数据。 响应应为布尔值“ True”或“ False”。

例如,在Python中:

Flag = ES.indices.exists(index=INDEX_Name) 

仅返回TrueFalse。像上面的查询一样,我想知道 PYTHON 中是否有任何查询。要检查数据并返回布尔值。

例如数据集。

"_source":{
           name: "John",
           age: 31, 
           city: "New York"
          }

1 个答案:

答案 0 :(得分:0)

要实现此目标,您需要在代码中实现此逻辑。默认情况下,Elasicsearch返回“ hits”参数内的数据作为响应。您需要在查询中定义条件并进行搜索。如果返回任何文档,则将为true,否则为false。因此,您在python中的代码将如下所示:

Flag = bool(len(ES.search(index=INDEX_Name, body=your_query).get("hits").get("hits") ))