我正在使用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中的公司名称列表
答案 0 :(得分:0)
您可以在查询dsl中使用_source
来仅获得结果中的base_name
字段。为此,将query_json
更新为以下内容:
query_json = {"query":{"match_all":{}},"_source":["base_name"],"from":0,"size":50}