몽고 컬렉션 내에서 잠재적으로 수백만 개의 문서 사이의 필드를 비교하려고합니다. 필드는 미리 결정되며 각 필드에 가중치가 부여됩니다. 이러한 가중치는 '유사'문서에 대한 제안을 나타내는 문서 쌍을 반환하는 데 사용됩니다. 이 문서는 비교되는 경우 예를 들어, 모두 그 무게가 추가됩니다 가중치 테이블을 참조 할 것 분야 'FIRST_NAME'에 대해 동일한 값과 쌍에 대한 점수를 가지고있다. 둘 사이의 다른 필드가 같으면 점수가 업데이트되어 더 높은 유사성을 반영합니다.MongoDB 내 문서 비교
초기 결과 집합을 반복하여 결과 집합을 통과하고 각 문서를 첫 번째 반복자가있는 문서와 비교하는 (매우 비효율적 인) 반복이 포함되어 있습니다. 이것은 현재 커서를 통해 요소를 가져올 때 PHP에 의해 모두 수행됩니다.
MapReduce 구현 (실제로 적용되지 않는 것 같습니다), 커서 조작 등 거의 모든 제안을 할 수 있습니다. 현재 O (n^2) 복잡성에서 작업 중이기 때문에 프로세스를 간소화 할 수 있습니다. (글쎄, 지금까지 첫 번째 반복자가 다루었던 문서를 건너 뛸 때 조금 나아졌다.)
나는 이것도 꽤 비슷한 설정을 만들어 보았다 유지 될 추가 컬렉션을 만드는 피하기 위해 기대했다하지만 내가 가야 할거야 더 길처럼 찾고 있습니다. 의견을 보내 주셔서 감사합니다. – Ghjnut