2

나는 nutch를 사용하여 일부 데이터를 크롤링하고이를 elasticsearch에 주입 할 수있었습니다. 그러나 한 가지 문제가 있습니다. 크롤링 된 데이터를 다시 주입하면 복제본이 만들어집니다. 이것을 거부 할 수있는 방법이 있습니까?nutch -> elasticsearch 솔루션을 사용할 때 중복 됨

누구든지 문제를 해결하거나 해결 방법에 대한 제안 사항이 있습니까?

/SAMUS

답변

2

색인 각 페이지/문서 ElasticSearch에서 같은 ID로 기어 경우는 중복되지 않습니다. 체크섬/해시 기능을 사용하여 페이지의 URL을 고유 ID로 바꿀 수 있습니다.

당신은 또한 ID가 이미 색인 경우 그것을 다시 인덱싱되지 않도록 보장하기 위해 Operation_type을 사용할 수 있습니다

:

는 인덱스 작업도 허용하는 작업을 만들 을 강제하는 데 사용할 수있는 op_type을 받아 "put-if-absent"행동. 을 만들 때 해당 id가 인 문서가 이미 색인에 존재하면 색인 작업이 실패합니다.

ElasticSearch index API

2

한 가지 방법, 당신은 당신이 어떤 DB 및 크로스 elasticSearch에 입력 한 모든 데이터의 체크 섬의 인덱스를 유지할 수 elasticSearch로 데이터를 전송하기 전에 사람들을 참조하십시오. 또는 "더 비슷한"쿼리를 실행하여 비슷한 문서를보고이를 토대로 결정을 내릴 수 있습니다.

LINK - http://www.elasticsearch.org/guide/reference/query-dsl/mlt-field-query.html