[Prerequsite]
# my_index 인덱스에 벌크로 데이터 입력
1. Kibana 접속: http://localhost:5601/
2. 좌측 Navigation Bar > Management > Dev Tools
POST my_index/_bulk
{"index":{"_id":1}}
{"message":"The quick brown fox"}
{"index":{"_id":2}}
{"message":"The quick brown fox jumps over the lazy dog"}
{"index":{"_id":3}}
{"message":"The quick brown fox jumps over the quick dog"}
{"index":{"_id":4}}
{"message":"Brown fox brown dog"}
{"index":{"_id":5}}
{"message":"Lazy jumping dog"}
* Kibana에서 벌크로 데이터 입력한 결과
[Full text query Excercise]
1. match_all (조건 없이 인덱스에 해당되는 도큐먼트 모두 검색)
GET my_index/_search
2. match (AND, OR 조건에 해당되는 도큐먼트 검색)
1) "dog"가 포함된 도큐먼트 검색
GET my_index/_search
{
"query": {
"match": {
"message": "dog"
}
}
}
2) OR 조건 (quick이나 dog 둘중 하나가 들어가는 도큐먼트 검색)
#match 쿼리 OR 조건으로 quick || dog 검색
#quick 이랑 dog가 들어가는 도큐먼트 검색
GET my_index/_search
{
"query": {
"match": {
"message": "quick dog"
}
}
}
3) AND 조건 (quick과 dog 둘다 포함되는 도큐먼트 검색)
#match 쿼리 AND 조건으로 quick dog 검색
#quick 이랑 dog가 들어가는 도큐먼트 검색
GET my_index/_search
{
"query": {
"match": {
"message": {
"query": "quick dog",
"operator": "and"
}
}
}
}
3. match_phrase (공백을 포함해 정확히 일치하는 내용을 검색)
1) 조건 없이 검색 : lazy dog 단어를 포함하는 도큐먼트만 검색
#match_phrase 쿼리로 "lazy dog" 구문 검색
GET my_index/_search
{
"query": {
"match_phrase": {
"message": "lazy dog"
}
}
}
2) Slop 1 : lazy dog, lazy something dog
#match_phrase 쿼리에 slop:1 로 "lazy dog" 구문 검색
#lazy와dog 사이에 jumping이 있는 "Lazy jumping dog" 도큐먼트도 검색
GET my_index/_search
{
"query": {
"match_phrase": {
"message": {
"query": "lazy dog",
"slop": 1
}
}
}
}
4.query_string (URL검색에 사용하는 문법을 본문 검색에 이용하고 싶을 때 query_string 쿼리 사용)
1) URL검색에 사용하는 루씬의 검색 문법
GET test/_search?q=(jumping AND lazy) OR quick dog
2) query_string 쿼리 사용 ( 위 검색과 동일한 결과 출력 )
GET my_index/_search
{
"query": {
"query_string": {
"default_field": "message",
"query": "(jumping AND lazy) OR \"quick dog\""
}
}
}
* \"quick dog\"" : match_phrase 처럼 구문 검색을 할 때는 검색할 구문을 쌍따옴표 \"를 넣는다.
Reference : esbook.kimjmin.net/05-search/5.1-query-dsl
'Side Project' 카테고리의 다른 글
[Microk8s] Installation & Dashboard (0) | 2021.01.07 |
---|---|
[Elasticsearch] 1. Build Environment(Elasticsearch, Kibana) (0) | 2020.11.24 |
[GCP] MySQL 환경 구축 (1) | 2020.02.13 |
[GCP] 서버 환경 구축 (0) | 2020.02.13 |