На данный момент в Nutch нечего делать для маршрутизации документов. Например, если вы используете index-jexl-filter
, фильтрация выполняется до того, как документ будет отправлен авторам Nutch. Вы можете настроить несколько модулей записи индекса (2), и тогда документы будут отправляться обоим модулям записи индекса. Эти писатели могут писать в разные индексы/типы документов, но все документы будут заканчиваться обоими типами индексов/документов.
Тем не менее, если вы найдете способ фильтрации на стороне ES, вы можете настроить эти модули записи индекса и направить документы к ним обоим. Затем отфильтруйте в ES во время приема (возможно, что-то вроде script
в ES, который предотвращает начало загрузки документа, если он не соответствует определенному требованию. Но я не могу прийти в голову, указать на что-то конкретное, что делает это прямо сейчас.
Кроме того, вы можете просто клонировать эластичный индексатор и настроить его так, чтобы type
извлекался из самого документа.
ИЗМЕНИТЬ
Спасибо @sebastian-nagel за указание на это.
Я полностью пропустил https://nutch.apache.org/apidocs/apidocs-1.15/org/apache/nutch/exchange/jexl/JexlExchange.html, который делает именно то, что вам нужно. При этом можно выполнять маршрутизацию документов во время индексации, используя выражение JEXL.
person
Jorge Luis
schedule
26.10.2018