인덱스 필터 플러그인을 사용해야하는 것 같습니다.
나는 Hartl's tutorial을 따라 소스 코드를 구성하고 링크했습니다. "기록 목록"(링크) 및 "기록"I 페이지의 두 가지 유형을 가진 웹 사이트를 크롤링하고있어
public NutchDocument filter(NutchDocument doc, String url, WebPage page)
throws IndexingException {
String input_url = url;
try {
url = urlNormalizers.normalize(url, URLNormalizers.SCOPE_DEFAULT);
url = urlFilters.filter(url); // filter the url
} catch (Exception e) {
LOG.warn("Skipping " + input_url + ":" + e);
return null;
}
if (url == null) {
LOG.info("Skipping (filter): " + input_url);
return null;
}
return doc;
}
public void setConf(Configuration conf) {
this.conf = conf;
this.urlFilters = new URLFilters(conf);
urlNormalizers = new URLNormalizers(conf, URLNormalizers.SCOPE_INJECT);
}
:
여기에 코드의 흥미로운 부분이다. 먼저 레코드로 연결되는 링크를 검색하기 위해 첫 번째 레코드를 가져와야합니다. 그러나 "레코드"페이지의 색인 생성에만 관심이 있습니다. – Thomas
페이지에 대한 액세스 권한이 있습니까? 그렇다면 메타 태그 content = "noindex, follow"를 추가 할 수 있으며 Nutch는이를 고려하여 아웃 링크를 추출하지만 콘텐츠를 크롤링하지는 않습니다. – nimeshjm
그렇다면 SOLR의 쿼리 단계에서 결과를 필터링 할 수 있습니다. – nimeshjm