2016-10-04 3 views
1

solr에 거의 중복 된 문서가 저장되어 있지 않습니다. 스키마는 고유 키로서 자동 생성 된 uuid를 가지므로 중복이 인덱스에 들어갈 수 있습니다. 스키마의 필드/필드를 기반으로 중복 된 문서 수를 가져와야합니다.인덱싱 된 필드를 기준으로 solr에서 중복 문서 수를 찾는 방법

클라이언트 프로그램을 작성하지 않고 전체 결과 세트를 거치지 않고 빠른 번호를 얻으려고합니다. 패싯을 사용하려고했지만 전체 카운트를 가져올 수 없습니다. 아래 쿼리는 'idfield'의 각 값에 대해 중복을 제공하지만 마지막 페이지까지 반복하여 합산해야합니다 (2 백만 항목 이상).

Q = * : * &면 = 사실 & facet.mincount = 2 & facet.field = idfield

답변

1

제이슨 패싯 쿼리이 블로그의 설명에 따라 고유 한 값을 찾을 수 있습니다 http://yonik.com/solr-count-distinct/

또는 붕괴 필터를 사용하여 그 차이를 Q를 발견 할 수 있습니다 = * : * & FQ = - numfound을 얻고 MatchAllDocs 쿼리에서 빼기 {붕괴 = 실제 필드 = idfield!}이 (* : *)

0

또한 고유 ID 필드에서 패 시팅하여 facet.mincount = 2를 사용하여 중복 문서를 얻을 수 있습니다. 예 :/SOLR/코어/선택 Q = : &면 = & field.field = uniqueidfield & facet.mincount = 2 & facet.missing에 = 또한 당신이 facet.limit = -1 & 행을 추가 할 수 있습니다 진정한 = 0으로 중복 ID가있는 문서 ID를 얻으려면

관련 문제