Full Text query
match_all
- 한 인덱스의 모든 도큐먼트를 검색
- 쿼리를 넣지 않고 검색한 결과와 동일
match
- match fied에 있는 검색어로 필터링된 결과를 얻을 수 있다.
- operator: 필터를 명시 해주지 않으면 디폴트로 or 이 설정되어 있다.
- 공백으로 검색할 각 단어를 구분
GET my_index/_search
{
"query": {
"match": {
"message": A B"
"operator": "and"
}
}
}
- A와 B가 들어간 메세지 필드 검색
ex ) "A B", "A C B", C A A D B"
match_phrase
- 공백포함 정확한 단어 구분을 위해 사용한다.
- slop 필드로 단어 중간에 지정된 갯수만큼 포함가능 한 옵션을 설정할 수 있다.
GET my_index/_search
{
"query": {
"match_phrase": {
"message": {
"query": "A B",
"slop": 1
}
}
}
}
- "A B" 검색 사이에 1단어 포함 가능
ex ) "A B", "A C B"
query_string
- query를 이용해 여러 조건의 키워드를 설정할 수 있다.
- default_field 로 필드명 설정
- query 필드로 쿼리 설정
{
"query": {
"query_string": {
"default_field": "message",
"query": "(A AND B) OR \"C D\""
}
}
}
ex) "A B", "A C A", "D A E", "A Q B"
'Elasticsearch' 카테고리의 다른 글
(Elasticsearch) Kibana 로 CRUD 실습 (0) | 2021.03.23 |
---|