curl 'http://localhost/solr/collection/update?commit=true'
-H 'Content-type:application/json'
-d
'[
{
"id":"11111",
"price":{"set":1000}
}
]'
id : 11111이 있으면 가격 값이 업데이트됩니다. 괜찮습니다.solr이 (가) 업데이트하는 동안 새 문서를 추가하는 이유는 무엇입니까?
id : 11111이없는 경우 solr 인덱스에 새 문서가 만들어집니다. 이 동작은 바람직하지 않습니다. 일부 텍스트에서 다음과 같은 오류가 예상됩니다. 업데이트하려는 문서가 존재하지 않습니다. 무엇이 잘못되었는지 이해할 수 없습니다.
Solr 버전 : 4.8.0. 의 schema.xml의
부 : 원자 업데이트의 현재 구현이 작동하는 것 같다 어떻게
<field name="id" type="string" indexed="true" stored="true" required="true"/>
<uniqueKey>id</uniqueKey>
의견이 있으십니까? 왜 예상 된 동작을하지 못하는지 그리고 solr이 '업데이트하는 동안 새 문서를 추가하는 이유는 무엇입니까? – EricLavault
귀하의 답변에서 저를 조언 해 주신 것처럼 워크 플로를 수정하기로 결정했습니다. 왜이 동작이 기본값인지 궁금합니다. 왜 안심하지? – Dimitry
이것은/update 핸들러 함수가 인덱스를 전체적으로 업데이트한다는 점에서 안심할 수 있습니다. API는 add/replace, delete, commit, optimize 등과 같은 연산을 제공합니다. 여러 가지 작업을 수행 할 수있는 가능성이 있습니다 (add, delete & commitWithin)를 한 번에 처리 할 수 있습니다. – EricLavault