使用python从ElasticSearch查询数据

时间:2019-06-11 07:24:16

标签: python-3.x elasticsearch

我正在使用python的elasticsearch模块连接并搜索我的Elasticsearch集群。在集群中,有一个名为gs_base的索引,在gs_base中有一个名为“ base_name”的东西,它存储了我要提取的所有公司名称。有人可以在这里提供查询代码吗?谢谢!

我的代码吹嘘只能拉出gs_base中的所有内容,但我需要在“ base_name”字段中列出所有公司名称

{
"_index": "gs_base",
"_type": "base",
"_id": "hgi-l2cB8nb3Ce91YtVS",
"_version": 1,
"_score": 1,
"_source": {
...
"base_name":...
...
}

from elasticsearch import Elasticsearch
import json


es = Elasticsearch(hosts="http://10.10.3.39:9200", http_auth=('xxx', 'xxx'))

query_json = {"query": {"bool": {"must": [], "must_not": [], "should": [{"match_all": {}}]}}, "from": 0, "size": 50, "sort": []}

query = es.search(index='gs_base',  body=query_json)
print(query)

我希望结果将是存储在base_name中的公司名称列表

1 个答案:

答案 0 :(得分:0)

您可以在查询dsl中使用_source来仅获得结果中的base_name字段。为此,将query_json更新为以下内容:

query_json = {"query":{"match_all":{}},"_source":["base_name"],"from":0,"size":50}