특정 Solr 응용 프로그램의 경우 중복 된 결과를 삭제해야합니다.고유 키가 같은 중복 문서
<uniqueKey>id</uniqueKey>
내가 기존 문서의 ID로 /update/json?commit=true
를 호출 할 때, 현존하는 문서가 제대로 업데이트됩니다 나는 등의 schema.xml에서 고유 키와 같은 필드 id
세트가 있습니다. 그러나 /update/json?commit=true&overwrite=false
을 호출하면 추가 문서가 동일한 ID로 추가됩니다! 기존 문서의 ID를 가진 문서를 폐기하도록 Solr을 어떻게 구성 할 수 있습니까? 나는 을 알아 차리고, Solr 4.x를 실행하는 새로운 코드에 소개하고 싶지 않습니다. 어쨌든 기본값은 false
입니다. 따라서 어쨌든 속임수가 추가되는 이유는 알 수 없습니다.
<field name="id" type="string" stored="true" indexed="true" multiValued="false" required="true"/>
명확하게하기 위해, 나는 업데이트하지 않고, 나는 새 문서를 만들려고하지 않습니다이 중요한 경우
는 id
필드 등으로 정의된다. 나는 을 버리고 새 문서를 버립니다.id
필드는 다른 여러 필드의 내용 해시로 계산됩니다. 그래서이 동일한 해시 (ID)가있는 다른 필드가 이미 존재하면 이 아니며은 업데이트해야합니다. (항상 같은 해시의 가장 오래된 문서를 유지해야합니다) 아니요 새 레코드를 만들고 싶습니다. 잘 속는 사람). 새 문서를 버리기 만하면됩니다.
INSERT IGNORE INTO
SQL 문과 비슷한 동작을 찾고 있습니다.
감사합니다. 나는 내 의도가 분명하지 않다는 의문을 다시 읽는다. 필자는이 질문을 다음과 같이 편집했다 : 새 문서가 'INSERT IGNORE INTO'와 비슷한 속임수라면 _discarded_해야한다. – dotancohen