ELK/Elasticsearch

[Elasticsearch] Mapping 정의

오늘도개발 2024. 5. 6. 12:22

1. mapping 정의 란?

 

 -  field 의 type, Analyzer, Search Analyzer 지정 등 field 관련 설정

 -  한번 설정되면 변경 불가( version 으로 관리 )

 

 

2. Data type 종류

 

 

3. Mapping 예시

 

PUT tripdoc
{
  "mappings": {
      "properties": {
        "id": {
          "type": "keyword"
        },
        "trip_id": {
          "type": "long"
        },
        "title": {
          "type": "text",
          "copy_to": ["eng_kor_title_suggest", "chosung_title", "eng_title"],
          "analyzer": "korean_analyzer"
        },
          "eng_title": {
          "type": "text",
          "analyzer": "standard",
          "search_analyzer": "standard"
        },
        "eng_kor_title_suggest": {
          "type": "text",
          "analyzer": "korean_analyzer",
          "search_analyzer": "eng2kor_analyzer"
        },
        "chosung_title": {
          "type": "text",
          "analyzer": "chosung_analyzer",
          "search_analyzer": "standard"
        },
        "content": {
          "type": "text",
          "analyzer": "korean_analyzer"
        },
        "cost": {
          "type": "integer"
        },
        "area": {
          "type": "keyword",
          "copy_to": ["eng_kor_area_suggest", "chosung_area"]
        },
        "eng_kor_area_suggest": {
          "type": "text",
          "search_analyzer": "eng2kor_analyzer"
        },
        "chosung_area": {
          "type": "text",
          "analyzer": "chosung_analyzer",
          "search_analyzer": "keyword"
        },
        "hashtag": {
          "type": "keyword",
          "copy_to": ["eng_kor_hashtag_suggest", "chosung_hashtag"]
        },
        "eng_kor_hashtag_suggest": {
          "type": "text",
          "search_analyzer": "eng2kor_analyzer"
        },
        "chosung_hashtag": {
          "type": "text",
          "analyzer": "chosung_analyzer",
          "search_analyzer": "keyword"
        },
        "trip_start_date": {
          "type": "date",
          "format": "yyyy-MM-dd"
        },
        "trip_end_date": {
          "type": "date",
          "format": "yyyy-MM-dd"
        },
        "created_at": {
          "type": "date",
          "format": "date_hour_minute_second"
        },
        "address": {
          "type": "text"
        },
        "place_name": {
          "type": "keyword"
        },
        "thumbnail_url": {
          "type": "keyword"
        },
        "email": {
          "type": "keyword"
        },
        "is_public": {
          "type": "boolean"
        }
      }
   }
}

 

'ELK > Elasticsearch' 카테고리의 다른 글

[Elasticsearch] 검색  (0) 2024.05.06
[Elasticsearch] Index(색인)  (0) 2024.05.06
[Elasticsearch] 엘라스틱 서치란?  (1) 2024.05.06