【问题标题】:Detecting changes when comparing documents within an index in ElasticSearch在 ElasticSearch 中比较索引中的文档时检测更改
【发布时间】:2018-09-26 00:31:45
【问题描述】:

我正在使用弹性搜索将网站抓取数据存储在一个索引中。文档看起来像这样:

{"crawl_id": 1, url": "http://www.example.com", "status": 200}
{"crawl_id": 1, url": "http://www.example.com/test", "status": 200}
{"crawl_id": 2, url": "http://www.example.com", "status": 200}
{"crawl_id": 2, url": "http://www.example.com/test", "status": 500}

如何比较 2 种不同的抓取?例如 当我比较 crawl_id 2 和 crawl_id 1 时,我想知道在 crawl_id 2 中哪些页面的状态码从 200 更改为 500。

我想获取文档列表,但也要汇总这些结果。 例如 1 页从 200 变为 500。

有什么想法吗?

【问题讨论】:

  • 您将“url”聚合为“terms”,然后将嵌套的“terms”聚合为 status”。

标签: elasticsearch elastic-stack


【解决方案1】:

我会为此使用parent/child documents。代表每个 URL 的父项,代表每个不同爬取事件的子项。然后我会通过搜索孩子来选择父母(我忽略此功能是否仍然保留或者是否已将其名称更改为join data types)。

我也想看看document versions,看看哪一个更符合我的要求。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多