我需要抓取两个网站并将它们作为两个不同的索引或类型索引到elasticsearch中。 我正在将nutch 1.15与elasticsearch-5.3.3一起使用
我们如何爬行两个不同的站点,并在nutritionsearch中分别索引它们?可以在单个实例中实现吗?
答案 0 :(得分:0)
目前,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表达式进行文档路由。