2017-09-22 9 views
2

조건 (예 : 게시 된 날짜 또는 시간)에 따라 가져온 URL을 필터링 할 수 있는지 알고 싶습니다. 나는 우리가 가져올 URL을 regex-urlfilter으로 필터링 할 수 있다는 것을 알고있다.Nutch에서 조건을 기반으로 가져온 후 URL을 거부합니다.

필자의 경우 이전 문서를 색인 싶지 않습니다. 따라서 2017 년 이전에 문서가 게시되면 거부해야합니다. 날짜 필터 플러그인이 필요하거나 이미 사용할 수 있습니까?

도움이 될 것입니다. 미리 감사드립니다.

답변

1

색인 생성 이전 문서는 사용자 자신의 IndexingFilter이라고 쓸 수 있으며 문서의 색인 생성을 피할 수 있습니다. Nutch 버전은 언급하지 않지만 v1을 사용 중이라고 가정하면 (이 버전은 차후 릴리스 용으로 준비 됨) JEXL 표현식을 사용하여이 기능을 사용하여 문서의 색인 생성을 허용/방지 할 수 있습니다.

당신이 PR을 잡고 시험해보고 약간의 피드백을 제공 할 수 있다면 놀랄 것입니다!

원하는 경우 사용자 정의 플러그인을 작성할 수 있으며 mimetype-filter에서 원하는 것과 비슷한 항목을 확인할 수 있습니다 (이 경우에는 mimetype을 기반으로 필터링을 적용합니다).

Nutch가 리소스를 가져올 때 웹 서버가 보내는 헤더에서 오는 fetchTime 또는 modifiedTime 순간에 경고 메시지가 표시됩니다.이 값은 신뢰할 수 없어야합니다. 100 % 확신). 대부분의 경우 잘못된 날짜가 표시되기 때문입니다. NUTCH-1414은 페이지의 내용에서 발행 날짜를 추출하는 더 나은 방법을 제안하거나 독자적인 파서를 구현할 수 있습니다.

이 방법을 사용해도 이전 문서를 가져 오거나 구문 분석하면 색인 생성 단계를 건너 뛰게됩니다.

+0

답변 해 주셔서 감사합니다. 이미 맞춤 색인 필터 플러그인이 있습니다. 현재 이전 문서의 색인 생성을 건너 뜀으로써이 플러그인에 날짜 필터 옵션을 추가했습니다. 나는 사이트에서 모든 관련 세부 정보를 추출하는 구문 분석 플러그인이 있습니다. 그래서 플러그인에서 날짜를 게시 한 문서를 얻었고 인덱서 플러그인에서이 값을 사용하여 필터링했습니다. 다른 옵션을 사용할 수 있습니까? 이제 구문 분석 및 인덱싱 단계에서이 문서를 전달하고 있습니다 (실제로는 필요하지 않음). 나는 가져 오는 단계 후에 그것을 건너 뛰고 싶다. – Abhishek

+0

문제는 이후에 일어날 일에 대해 조치를 취하지 않는 문서를 가져 오는 것일뿐입니다. Nutch의 기본 동작을 유지하려면 유용한 정보 (날짜)를 얻기 위해 문서를 구문 분석해야하며 문서를 어떻게 처리할지 결정할 수 있습니다. 당신은 당신 자신의 fetcher를 쓸 수는 있지만, 유지하기는 쉽지 않습니다. 이전 문서를 구문 분석 한 후에도 최신 문서에 대한 유효한 아웃 링크를 찾을 수 있습니다. –

+0

확인. 그래서, 나는이 해결책을 고수해야한다. – Abhishek