설정한 role과 user는 어떻게 테스트 할 수 있는지 질문할 것
user 생성 시, role을 여러 개 선택할 수 있는 것 같던데 선택한 role 사이에 권한이 충돌하면 어떻게 되는지?
하나의 유저에 task1_role
과 test_role
모두 부여했는데 문제 없이 저장되었음
문제 없음! clear!
해설은 dynamic template 사용했는데, 결과만 맞으면 mapping을 하나하나 정의해도 시험에서 큰 문제 없는지?
ignore_missing
에 대한 이야기가 문제에 제시되지 않았는데, 해설에서는 해당 옵션을 true
로 설정함
일반적으로 필수로 설정하는 옵션인가?
공식 문서에서 nested field
내용 확인
예시
PUT my-index-000001/_doc/1
{
"group" : "fans",
"user" : [
{
"first" : "John",
"last" : "Smith"
},
{
"first" : "Alice",
"last" : "White"
}
]
}
user
가 nested field
가 아닌 경우
GET my-index-000001/_search
{
"query": {
"bool": {
"must": [
{"match": {"user.first": "John"}},
{"match": {"user.last": "White"}}
]
}
}
}
위와 같은 요청을 전송하면 hit
이 1개가 도출됨
user
필드 내부의 요소 두 개를 하나의 단위로 보지 않고, 전체를 하나의 document로 취급하기 때문
user
가 nested 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개.
user
가 nested field
이므로 그 내의 객체 하나하나를 하나의 작은 단위로 보기 때문
필드 하나하나를 보지 않고 객체를 검색한다고 이해하면 맞을 듯