• Home
  • About
    • lahuman photo

      lahuman

      열심히 사는 아저씨

    • Learn More
    • Facebook
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

모든 것을 색인하는 _all option

13 Mar 2018

Reading time ~1 minute

색인 전체 크기를 줄이고 더 빠르게 색인을 생성하기 위해 _all option을 꺼두자

_source는 모든 것을 저장하고, _all은 모든 것을 색인한다.

따라서 필드 이름 없이 검색을 하면 _all로 설정된 필드를 검색하여 반환한다.

PUT my_index/user/1 
{
  "first_name":    "John",
  "last_name":     "Smith",
  "date_of_birth": "1970-10-24"
}

GET my_index/_search
{
  "query": {
    "match": {
      "_all": "john smith 1970"
    }
  }
}

위와 같이 값을 넣고 검색을 하면 결과로 넣었던 데이터가 출력 된다.

만약 항상 특정 필드만 검색하려면 _all의 옵션을 false로 설정할수 있다.

PUT my_index
{
  "mappings": {
    "type_1": { 
      "properties": {...}
    },
    "type_2": { 
      "_all": {
        "enabled": false
      },
      "properties": {...}
    }
  }
}

위와 같이 type_2에 _all enabled를 false로 준다면 특정 필드에 설정 할 수 있다.

이렇게 하면 색인 전체 크기가 줄어 들고, 더 빠르게 색인을 생성한다.

참고 자료



elasticsense Share Tweet +1