ETL/Elasticsearch
[Elasticsearch] 실무에서 자주 사용하는 쿼리(검색)
PONI
2023. 6. 14. 10:31
반응형
1. match 검색
{
"query": {
"bool": {
"must": [
{
"match": {
"emp_no": "123456"
}
},
{
"nested": {
"path": "nested_A",
"query": {
"bool": {
"must" [
{
"match": {
"nested_A.use_yn": "Y"
}
}
],
"must_not": [
{
"match": {
"nested_A.str_dt": "99991231"
}
}
]
}
}
}
}
]
}
}
}
2. inner_hit 검색
위 검색의 결과에는 nested_A 필드에서 검색결과에 match 된 documents 만 보기가 어렵습니다.
이런 경우 inner hits 옵션을 사용하여 원하는 조건에 해당하는 documents 만 조회합니다.
{
"query": {
"bool": {
"must": [
{
"match": {
"emp_no": "123456"
}
},
{
"nested": {
"path": "nested_A",
"query": {
"bool": {
"must" [
{
"match": {
"nested_A.use_yn": "Y"
}
}
],
"must_not": [
{
"match": {
"nested_A.str_dt": "99991231"
}
}
]
}
},
"inner_hits": {
"size": 100
}
}
}
]
}
}
}
3. term 검색
{
"query": {
"bool": {
"must": [
{
"match": {
"emp_no": "123456"
},
"terms": {
"dty_cd": [
"1111",
"2222",
"3333",
"4444"
]
}
}
]
}
}
}
다음 포스팅에서는 엘라스틱 검색 쿼리에 대해서 추가적 다뤄보겠습니다.
<개선사항은 언제든지 댓글로 부탁드립니다!>
반응형