ElasticSearch 근거_seq_no 동시 제어
2569 단어 ElasticSearch
결론
작업 전 현재 데이터의 _seq_no,_primary_term 값, 예를 들어 각각 0과 1이 업데이트될 때 URL에 if_를 끼워주세요.seq_no=0&if_primary_term=1은 이 값에서만 업데이트를 진행할 수 있음을 가리키며, 그렇지 않으면 오류를 되돌려줍니다.
케이스 1:
website/blog/1/_create
{
"title": "My first blog entry",
"text": "Just trying this out..."
}
_seq_no _primary_term
"_seq_no": 0,
"_primary_term": 1
2단계: 동시 제어
데이터 가져오기
website/blog/1
반환값
{
"_index": "website",
"_type": "blog",
"_id": "1",
"_version": 1,
"_seq_no": 0, // 여기 보기
"_primary_term": 1,// 여기 주의
"found": true,
"_source": {
"title": "My first blog entry",
"text": "Just trying this out..."
}
} 3단계: 업데이트 데이터 추가 기준
website/blog/3?if_seq_no=0&if_primary_term=1
대충 if_만seq_no 및 if_primary_term은 우리의 값과 같을 때 업데이트를 진행합니다
반복 작업 회보
{
"error": {
"root_cause": [
{
"type": "version_conflict_engine_exception",
"reason": "[3]: version conflict, required seqNo [0], primary term [1]. current document has seqNo [3] and primary term [1]",
"index_uuid": "hqx20LnrTgiOykvXMLw-dQ",
"shard": "0",
"index": "website"
}
],
"type": "version_conflict_engine_exception",
"reason": "[3]: version conflict, required seqNo [0], primary term [1]. current document has seqNo [3] and primary term [1]",
"index_uuid": "hqx20LnrTgiOykvXMLw-dQ",
"shard": "0",
"index": "website"
},
"status": 409
} 주의하다
es에 대한 수정은 모두 무질서하기 때문에 병발적인 문제를 초래할 수 있다.이때 저희가 es를 조작할 때 통과할 수 있습니다_seq_이 es 자체 필드 제어 주의: 일부 오래된 버전의 es는version을 사용하지만 새 버전은 지원하지 않습니다. 이 오류를 보고하고 if_seq_no 및 if_primary_term {
"error": {
"root_cause": [
{
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
}
],
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
},
"status": 400
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회
부록:
1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다.
예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
1:
website/blog/1/_create
{
"title": "My first blog entry",
"text": "Just trying this out..."
}
_seq_no _primary_term
"_seq_no": 0,
"_primary_term": 1
2단계: 동시 제어
데이터 가져오기
website/blog/1
반환값
{
"_index": "website",
"_type": "blog",
"_id": "1",
"_version": 1,
"_seq_no": 0, // 여기 보기
"_primary_term": 1,// 여기 주의
"found": true,
"_source": {
"title": "My first blog entry",
"text": "Just trying this out..."
}
} 3단계: 업데이트 데이터 추가 기준
website/blog/3?if_seq_no=0&if_primary_term=1
대충 if_만seq_no 및 if_primary_term은 우리의 값과 같을 때 업데이트를 진행합니다
반복 작업 회보
{
"error": {
"root_cause": [
{
"type": "version_conflict_engine_exception",
"reason": "[3]: version conflict, required seqNo [0], primary term [1]. current document has seqNo [3] and primary term [1]",
"index_uuid": "hqx20LnrTgiOykvXMLw-dQ",
"shard": "0",
"index": "website"
}
],
"type": "version_conflict_engine_exception",
"reason": "[3]: version conflict, required seqNo [0], primary term [1]. current document has seqNo [3] and primary term [1]",
"index_uuid": "hqx20LnrTgiOykvXMLw-dQ",
"shard": "0",
"index": "website"
},
"status": 409
} 주의하다
es에 대한 수정은 모두 무질서하기 때문에 병발적인 문제를 초래할 수 있다.이때 저희가 es를 조작할 때 통과할 수 있습니다_seq_이 es 자체 필드 제어 주의: 일부 오래된 버전의 es는version을 사용하지만 새 버전은 지원하지 않습니다. 이 오류를 보고하고 if_seq_no 및 if_primary_term {
"error": {
"root_cause": [
{
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
}
],
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
},
"status": 400
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회
부록:
1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다.
예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
주의하다
es에 대한 수정은 모두 무질서하기 때문에 병발적인 문제를 초래할 수 있다.이때 저희가 es를 조작할 때 통과할 수 있습니다_seq_이 es 자체 필드 제어 주의: 일부 오래된 버전의 es는version을 사용하지만 새 버전은 지원하지 않습니다. 이 오류를 보고하고 if_seq_no 및 if_primary_term {
"error": {
"root_cause": [
{
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
}
],
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
},
"status": 400
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회
부록:
1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다.
예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.
{
"error": {
"root_cause": [
{
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
}
],
"type": "action_request_validation_exception",
"reason": "Validation Failed: 1: internal versioning can not be used for optimistic concurrency control. Please use `if_seq_no` and `if_primary_term` instead;"
},
"status": 400
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring-data-elasticsearch 페이지 조회부록: 1. 이름에서 알 수 있듯이QueryBuilder는 검색 조건, 필터 조건을 구축하는 데 사용되고 SortBuilder는 정렬을 구축하는 데 사용된다. 예를 들어 우리는 어느 위치에서 100미터 범위 내의 모...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.