Elasticsearch 探索数据
Elasticsearch explore data
我使用以下方式连接到弹性搜索客户端:
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 或更好的打印数据,打印 headers?
的名称
我建议您查看 Kibana,因为它提供了一个易于使用的 UI Elasticsearch,让您可以探索存储在那里的数据
否则你可能想看看索引的 mappings,它会给你字段名(在 Elasticsearch 语言中没有 headers 这样的东西)
我设法用下面的命令打印了 elastic 的可用索引:
def print_indices(es):
print(es.indices.get_alias("*"))
然后我通过执行以下查询获得了所有数据:
query = {"query": {
"multi_match": {
"query" : "*",
"type" : "cross_fields",
"fields" : ["*"],
}
}
}
但是,我收到以下消息:
field expansion matches too many fields, limit: 1024, got: 5233')
我不知道如何扩展限制,我想对于较小的数据库我工作得很好。
我使用以下方式连接到弹性搜索客户端:
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 或更好的打印数据,打印 headers?
的名称我建议您查看 Kibana,因为它提供了一个易于使用的 UI Elasticsearch,让您可以探索存储在那里的数据
否则你可能想看看索引的 mappings,它会给你字段名(在 Elasticsearch 语言中没有 headers 这样的东西)
我设法用下面的命令打印了 elastic 的可用索引:
def print_indices(es):
print(es.indices.get_alias("*"))
然后我通过执行以下查询获得了所有数据:
query = {"query": {
"multi_match": {
"query" : "*",
"type" : "cross_fields",
"fields" : ["*"],
}
}
}
但是,我收到以下消息:
field expansion matches too many fields, limit: 1024, got: 5233')
我不知道如何扩展限制,我想对于较小的数据库我工作得很好。