2016-08-22 2 views
0

대량 요청 본문 내에서 모든 문서의 쓰기 일관성을 설정할 수 있는지 또는 문서 단위로 설정할 수 있는지 궁금합니다 (NEST 또는 ES JSON)? 내 코드는 현재 다음을 사용하고 있습니다.NEST를 사용하여 ElasticSearch 대량 요청 본문에 일관성을 기록하십시오.

bulkDescriptor.Consistency (Consistency.All);

URI의 인수와 쓰기 일관성을 설정하는 JSON 요청을 생성합니다. 문제는 내 호스트가 URI 끝에 쿼리 ​​문자열을 제거하여 쓰기 일관성 설정이 제거된다는 것입니다. JSON 요청의 본문을 통해 쓰기 일관성을 설정하는 방법이 필요합니다.

+0

문제는이를 회피 할 수있는 방법입니다. – Val

+0

Amazon의 ElasticSearch 구현을 사용하고 있습니다. 아마존의 ES SME는 이것이 사실이라고 말했습니다. SME : ... POST 요청에 대한 모든 URL 매개 변수를 무시합니다 (요청 서명을 위해 제거됨). write_consistency.all을 설정하려면 POST 본문에서 수행해야합니다. – Ben

+0

아마존 감사합니다! 자신의 EC2 호스트를 롤백하고 실제 ES 인스턴스를 갖는 것이 좋습니다. AWS ES 서비스가 중단 되어도 로그를 보모하는 것보다 더 많은 일을 할 수는 없습니다. – Val

답변

0

consistency은 쿼리 문자열에만 설정할 수 있습니다. Elasticsearch의 일관성을 위해 본문 표현이 있습니다. Here's the source for Elasticsearch 2.3 : 왜 "나의 호스트는 URI의 끝에 쿼리 ​​문자열을 제거한다"와

String consistencyLevel = request.param("consistency"); 
if (consistencyLevel != null) { 
    bulkRequest.consistencyLevel(WriteConsistencyLevel.fromString(consistencyLevel)); 
} 
관련 문제