我使用:
连接到一个弹性搜索客户端es = Elasticsearch(
hosts = myip,
port = myport,
http_auth = (myname, mycode),
connection_class = RequestsHttpConnection,
scheme = 'https',
use_ssl = True,
verify_certs = False,
)
现在我想开始做这样的查询:
es.search(index="sw", body={"query": {"prefix" : { "name" : "Mary" }}})
但是问题是我不知道在elastic中的字段的名称。我如何从弹性或更好地打印数据,打印标题的名称?
我建议您检查Kibana,因为它提供了一个易于使用的UI到Elasticsearch,让您可以探索存储在那里的数据
否则,您可能需要查看索引的映射,这将为您提供字段名称(在Elasticsearch语言中没有头这样的东西)
我用下面的命令打印了elastic的可用索引:
def print_indices(es):
print(es.indices.get_alias("*"))
然后我通过执行下面的查询得到所有的数据:
query = {"query": {
"multi_match": {
"query" : "*",
"type" : "cross_fields",
"fields" : ["*"],
}
}
}
然而,我得到了以下消息:
字段扩展匹配太多字段,limit: 1024, got: 5233')
我不知道如何扩展限制,我想对于较小的数据库,它工作得很好。