elasticsearch - multiDocuments patterns

참치돌고래·2023년 1월 3일
0

elasticsearch

목록 보기
2/2

mget or bulk

mget

  1. 클라이언트가 노드1 에 mget 요청을 보낸다.
  2. 노드1이 각 샤드에 multi-get 요청을 빌드한다. 그리고 이 요청을 각각 필요한 primary 샤드 또는 replica 샤드parallel하게 요청을 포워드한다. 모든 요청을 수신받으면, 노드1은 resposne를 빌드하고 , 클라이언트에게 결과값을 반환한다.

bulk

  1. 클라이언트가 노드 1에게 bulk 요청을 보낸다.
  2. 노드 1이 각 샤드에게 bulk 요청을 보내고, primary shard가 존재하는 노드에 parallel하게 요청을 포워드한다.
  3. primary shard가 각 액션을 연속적으로 수행한다. 각각의 액션이 성공하면, primary shard는 새로운 도큐먼트를 replica shard에게 parallel하게 포워드한다. 그리고 다음 액션으로 넘어간다. 모든 replica shard들이 모든 액션을 성공했다고 반환하면, 요청받은 노드에게 성공을 반환한다. 그리고 처음 요청받은 노드가 클라이언트에게 결과를 반환한다.

bulk api는 replicationconsistency 파라미터를 사용할 수 있다.

profile
안녕하세요

0개의 댓글