[230510] Elastic Certificated Engineer Practice Exam 복습

뜨개발자·2023년 5월 10일
0

TIL

목록 보기
73/75

task 1

설정한 role과 user는 어떻게 테스트 할 수 있는지 질문할 것

user 생성 시, role을 여러 개 선택할 수 있는 것 같던데 선택한 role 사이에 권한이 충돌하면 어떻게 되는지?

  • task1_role : 문제 조건에 맞는 role 설정
    task1 이외의 모든 인덱스에 대해 read 권한만 가짐
  • test_role : 궁금해서 만들어본 role 설정
    모든 인덱스에 대해 all 권한 부여

하나의 유저에 task1_roletest_role 모두 부여했는데 문제 없이 저장되었음

task 2

문제 없음! clear!

task 3

해설은 dynamic template 사용했는데, 결과만 맞으면 mapping을 하나하나 정의해도 시험에서 큰 문제 없는지?

task 4

ignore_missing에 대한 이야기가 문제에 제시되지 않았는데, 해설에서는 해당 옵션을 true로 설정함
일반적으로 필수로 설정하는 옵션인가?

task 5

공식 문서에서 nested field 내용 확인

예시

PUT my-index-000001/_doc/1
{
  "group" : "fans",
  "user" : [
    {
      "first" : "John",
      "last" :  "Smith"
    },
    {
      "first" : "Alice",
      "last" :  "White"
    }
  ]
}
  • usernested field가 아닌 경우

    GET my-index-000001/_search
    {
     "query": {
       "bool": {
         "must": [
         	{"match": {"user.first": "John"}},
           {"match": {"user.last": "White"}}
         ]
       }
     }
    }

    위와 같은 요청을 전송하면 hit이 1개가 도출됨
    user필드 내부의 요소 두 개를 하나의 단위로 보지 않고, 전체를 하나의 document로 취급하기 때문

  • usernested field인 경우

    GET my-index-000001/_search
    {
      "query": {
       "nested": {
         "path": "authors",
         "query": {
           "bool": {
             "must": [
               {"match": {"user.first_name": "John"}},
               {"match": {"user.last_name": "White"}}
             ]
           }
         }
       }
     }

    먼저의 예시와 유사한 검색이지만, 이 요청의 응답은 hit이 0개.
    usernested field이므로 그 내의 객체 하나하나를 하나의 작은 단위로 보기 때문
    필드 하나하나를 보지 않고 객체를 검색한다고 이해하면 맞을 듯

profile
뜨개질하는 개발자

0개의 댓글