【问题标题】:ElasticSearch: how to use a query result for a new searchElasticSearch:如何使用查询结果进行新搜索
【发布时间】:2021-11-04 15:39:44
【问题描述】:

我一直在寻找如何使用查询结果在 ElasticSearch 中提供新查询。我读过 ElasticSearch 不允许内部查询或子查询,但我确信应该有一种方法来做我被要求做的事情。我会给你一个例子,如果有人给我任何建议,我将不胜感激。

这是在 ElasticSearch 上插入的日志格式

2021-11-04 15:45:51,917 INFO [94648ad9-d5ec-4a48-9cf1-a3f2c2e58cd2] URL :https://myendpoint.com
2021-11-04 15:45:51,917 INFO [94648ad9-d5ec-4a48-9cf1-a3f2c2e58cd2] BODY :{"request":{"field1":"value1"},"params":{"param1":1}}
2021-11-04 15:45:51,917 INFO [94648ad9-d5ec-4a48-9cf1-a3f2c2e58cd2] STATUS:success
2021-11-04 15:45:51,917 INFO [94648ad9-d5ec-4a48-9cf1-a3f2c2e58cd2] RESULT:{"response":{"field1":"20"},"status":{"code":0,"msg":"OK"}}
2021-11-04 15:45:51,917 INFO [94648ad9-d5ec-4a48-9cf1-a3f2c2e58cd2] MILLIS:36ms

2021-11-04 18:48:81,917 INFO [744a6299-f7c6-430a-b7ba-e85ab3046237] URL :https://myendpoint.com
2021-11-04 18:48:81,917 INFO [744a6299-f7c6-430a-b7ba-e85ab3046237] BODY :{"request":{"field1":"value1"},"params":{"param1":1}}
2021-11-04 18:48:81,917 INFO [744a6299-f7c6-430a-b7ba-e85ab3046237] STATUS:error
2021-11-04 18:48:81,917 INFO [744a6299-f7c6-430a-b7ba-e85ab3046237] RESULT:Timeout exceeded
2021-11-04 18:48:81,917 INFO [744a6299-f7c6-430a-b7ba-e85ab3046237] MILLIS:3006ms

每一行都是一个不同的文档。 我要做的是查找特定的 URL(在这种情况下为 https://myendpoint.com),然后提取与 URL 关联的标识符([94648ad9-d5ec-4a48-9cf1-a3f2c2e58cd2] 和 [744a6299-f7c6-430a- b7ba-e85ab3046237] 在这种情况下) 然后搜索与这些标识符关联的 RESULT 并对结果进行分类(Timeout, code=0...)

任何提示都将受到欢迎。 谢谢!

【问题讨论】:

    标签: elasticsearch kibana


    【解决方案1】:

    您可以使用支持子查询的 Elastic SQL: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-getting-started.html

    有几个限制,但在您解释的用例中,看起来您可以使用它: https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-limitations.html#_using_a_sub_select

    【讨论】:

      猜你喜欢
      • 2021-04-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-31
      相关资源
      最近更新 更多