- Keyword
- 일정한 형식으로 고정된 문자열 데이터를 색인할 때 사용
- keyword타입의 field는..
- aggregation, sorting, filtering에 사용된다.
- 분리된 문자열로는 검색할 수 없다.
- Text
- 사이즈가 큰 문자열을 저장할 때 사용
- 'Analyzer'를 통해 문자열이 분리된 토큰으로 저장되기 때문에 문자열 내 단어들로 검색할 수 있다.
- 전문 검색이 필요할 경우에 사용하는 것이 좋음
- sorting, aggregation에 사용은 가능하나 성능 문제로 사용시 주의가 필요하다.
- Text & Keyword
- 타입은 text이지만 aggregation 이나 sorting을 해야하는 경우에는 아래와 같이 사용한다.
- city의 타입은 text이지만 city.raw 필드의 type은 키워드로 준다.
- Text & Keyword
PUT my_index
{
"mappings": {
"properties": {
"city": {
"type": "text",
"fields": {
"raw": {
"type": "keyword"
}
}
}
}
}
}
PUT my_index/_doc/1
{
"city": "New York"
}
PUT my_index/_doc/2
{
"city": "York"
}
GET my_index/_search
{
"query": {
"match": {
"city": "york"
}
},
"sort": {
"city.raw": "asc"
},
"aggs": {
"Cities": {
"terms": {
"field": "city.raw"
}
}
}
}
(참고 : https://www.elastic.co/guide/en/elasticsearch/reference/6.5)
'AWS' 카테고리의 다른 글
Amazon Linux 2 EC2에 Jenkins 설치 (0) | 2022.01.17 |
---|---|
Java + AWS Lambda 사용 예시 메모 (0) | 2021.05.11 |
[Elasticsearch 6.5] Basic Concetps 엘라스틱서치 기본 개념 (0) | 2019.09.25 |
[Elasticsearch 6.5] API Convention - Common options (0) | 2019.09.25 |
[Elasticsearch 6.5] API Convention - Date math support in index names (0) | 2019.09.25 |