티스토리 뷰

dev/es

자동완성 위한 매핑설정

altvirus 2015. 4. 13. 18:08

DELETE cine21




PUT /cine21

{

  "settings": {

    "analysis": {

      "analyzer": {

        "korean_analyzer" : {

          "type" : "custom",

          "tokenizer": "korean_tokenizer",

          "filter" : ["stop", "lowercase", "trim", "synonym"]

        },

        "ngram_analyzer" : {

            "type" : "custom",

            "tokenizer" : "ngram_tokenizer",

            "filter" : ["lowercase", "trim","synonym"]

        },

        "edge_ngram_analyzer" : {

            "type" : "custom",

            "tokenizer" : "edge_ngram_tokenizer",

            "filter" : ["lowercase", "trim","synonym"]

        }

      },

      "tokenizer": {

        "korean_tokenizer": {

          "type": "mecab_ko_standard_tokenizer",

          "compound_noun_min_length": 100

        },

        "ngram_tokenizer" : {

            "type" : "nGram",

            "min_gram" : "1",

            "max_gram" : "5",

            "token_chars": [ "letter", "digit", "punctuation", "symbol" ]

        },

        "edge_ngram_tokenizer" : {

            "type" : "edgeNGram",

            "min_gram" : "1",

            "max_gram" : "5",

            "token_chars": [ "letter", "digit", "punctuation", "symbol" ]

        }        

      },

      "filter": {

        "synonym" : {

            "type" : "synonym",

            "synonyms" : [

                "탐, 톰",

                "플래이어, 플레이어"

            ]

        }

      }

    }

  }, 

  "mappings": {

    "movie" : {

      "analyzer" : "korean_analyzer",

      "index_analyzer" : "edge_ngram_analyzer",

      "search_analyzer" : "edge_ngram_analyzer",

      "properties": {

        "title" : {

          "type": "string", 

          "fields" : {

            "h_pf" : {"type" : "string", "store" : "no", "index" : "not_analyzed", "omit_norms" : true, "index_options" : "offsets", "term_vector" : "with_positions_offsets", "include_in_all" : false, "boost": 20},

            "h_ko" : {"type" : "string", "index_analyzer" : "korean_analyzer", "boost": 3},

            "h_ng" : {"type" : "string", "index_analyzer" : "ngram_analyzer", "boost": 1},

            "h_ed" : {"type" : "string", "index_analyzer" : "edge_ngram_analyzer", "boost": 2}

          }

        }

      }

    }

  }

}





GET /cine21/_search





GET /cine21/_search

{

  "query": {

    "bool": {

      "should": [

        {"prefix": {

          "title.h_pf": "창"

        }},{"term": {

          "title.h_ko": "창"

        }},{"term": {

          "title.h_ed": "창"

        }},{"term": {

          "title.h_ng": "창"

        }}

      ],

      "minimum_should_match": 1

    }

  }

}








'dev > es' 카테고리의 다른 글

analyzer 테스트  (0) 2015.04.13
매핑 설정  (0) 2015.04.13
elasticsearch 설치 관련(mecab 한글등)  (1) 2015.04.09
elasticsearch 08.매핑  (0) 2015.03.13
elasticsearch 7. 질의(QueryDSL)  (0) 2015.03.13
공지사항