【问题标题】:nutch with elasticsearch creating multiple index/types使用弹性搜索创建多个索引/类型的 nutch
【发布时间】:2018-10-26 10:10:29
【问题描述】:

我需要爬取两个网站并将它们作为两个不同的索引或类型索引到 elasticsearch 中。 我正在使用带有 elasticsearch-5.3.3 的 nutch 1.15

我们如何抓取两个不同的站点并在 nutch 的 elasticsearch 中分别索引它们?这可以在单个 nutch 实例中实现吗?

【问题讨论】:

    标签: elasticsearch web-crawler nutch


    【解决方案1】:

    目前在 Nutch 中没有什么可以做文档路由。例如,如果您使用index-jexl-filter,则过滤在文档发送给 Nutch 编写器之前完成。您可以配置多个索引编写器 (2),然后文档将被发送到两个索引编写器。这些写入器可能正在写入不同的索引/文档类型,但所有文档都将以两种索引/文档类型结尾。

    也就是说,如果你找到一种在 ES 端进行过滤的方法,你可以配置那些 Index Writers 并将文档路由到它们。然后在摄取时在 ES 中过滤(可能类似于 ES 中的 script,如果它不符合特定要求,则阻止开始摄取文档。但我不能忘记,指出特定的东西现在就这样做。

    此外,您可以克隆弹性索引器并对其进行自定义,以便从文档本身中提取type

    编辑

    感谢@sebastian-nagel 指出这一点。

    我完全错过了 https://nutch.apache.org/apidocs/apidocs-1.15/org/apache/nutch/exchange/jexl/JexlExchange.html 交换,它完全符合您的要求。这样就可以在索引时使用 JEXL 表达式进行文档路由。

    【讨论】:

    • Nutch 1.15 增加了路由文档的可能性,并且应该可以通过主机将文档路由到两个 ES 索引,请参阅wiki.apache.org/nutch/ExchangesNUTCH-2412./NUTCH-2412
    • Ups,完全错过了JexlExchange ?。我以为
    猜你喜欢
    • 2016-04-20
    • 2018-03-27
    • 1970-01-01
    • 2020-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2019-09-28
    相关资源
    最近更新 更多