【问题标题】:Elasticsearch explore dataElasticsearch 探索数据
【发布时间】:2021-11-05 22:32:05
【问题描述】:

我通过以下方式连接到弹性搜索客户端:

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" }}})

但问题是我不知道弹性字段的名称。我怎样才能从弹性或更好的打印数据,打印标题的名称?

【问题讨论】:

标签: python elasticsearch python-3.8 elk


【解决方案1】:

我建议您查看Kibana,因为它为 Elasticsearch 提供了一个易于使用的 UI,让您可以探索存储在那里的数据

否则您可能想查看索引的mappings,它会为您提供字段名称(Elasticsearch 语言中没有标头之类的东西)

【讨论】:

  • 感谢马克的回答,确实在 Kibana 中我可以探索数据并找到字段名称,但我想在 python 中实现它。
【解决方案2】:

我设法使用以下命令打印了可用的弹性索引:

def print_indices(es):
        print(es.indices.get_alias("*"))

然后我通过执行以下查询获得了所有数据:

query = {"query": {
            "multi_match": {
                "query" : "*",
                "type" : "cross_fields",
                "fields" : ["*"],
                
                }
            }   
        }

但是,我收到以下消息:

字段扩展匹配的字段太多,限制:1024,得到:5233')

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

【讨论】:

    猜你喜欢
    • 2017-09-11
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-25
    • 1970-01-01
    相关资源
    最近更新 更多