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')

我不知道如何扩展限制,我想对于较小的数据库我工作得很好。