【问题标题】:Elasticsearch Query - Return All Fields But Limit Single Field Output to 100 CharactersElasticsearch 查询 - 返回所有字段,但将单个字段输出限制为 100 个字符
【发布时间】:2019-04-05 04:56:35
【问题描述】:

我正在通过 python 从 Elasticsearch (5.x) 中提取数据。运行查询时,我可以获得所有返回的数据。但是,我正在处理一个非常大的数据集,其中一个字段可能很大(兆字节),这会将我的输出大小从应该是 500 KB 扩大到有时超过 500 MB。有没有办法通过 Elasticsearch 查询返回所有字段,但对于一个特定字段将输出限制为 100 个字符?

查询:

"size": 1000,
    "query": {
        "bool": {
            "must": [
                {
                    "query_string": {
                        "query": "level:ERROR OR WARN"

                    }

                },
                {
                    "range": {
                        "timestamp": {
                            "from": "now-2d", "to": "now"
                        }
                    }
                }
            ]
        }
    }

【问题讨论】:

    标签: python elasticsearch


    【解决方案1】:

    没有。您将需要更新 Elastic 中的数据并将该字段分成两部分。一个可以有前 N 个字符,如果有的话,另一个字段可以有其余的。

    如果您无法做到这一点,那么您能做的最好的事情就是在您从 Elastic 中获取该限制后在您的代码中应用该限制。

    【讨论】:

    • 谢谢。我正在考虑的另一个选择是将 Elasticsearch 升级到 6.7,它提供了 sql 查询功能。通过 sql-cli 你可以运行子字符串函数。
    猜你喜欢
    • 1970-01-01
    • 2021-04-14
    • 2014-10-24
    • 1970-01-01
    • 1970-01-01
    • 2023-01-03
    • 1970-01-01
    • 2014-10-27
    • 2019-04-28
    相关资源
    最近更新 更多