목적

SQL의 like검색과 비슷하게 검색을 하고 싶을 때 사용한다.

사용법

DELETE /test

PUT /test/
{
"mappings": {
"info" : {
  "properties" : {
    "txt" : {
      "type" :    "string",
      "analyzer": "standard"
    },
    "date" : {
      "type" :   "date"
    },
    "name" : {
      "type" :   "string"
    },
    "user_id" : {
      "type" :   "long"
    }
  }
}   
} }

PUT /test
{
  "settings": {
"analysis": {
  "analyzer": {
    "my_ngram_analyzer": {
      "tokenizer": "my_ngram_tokenizer"
    }
  },
  "tokenizer": {
    "my_ngram_tokenizer": {
      "type": "nGram",
      "min_gram": "2",
      "max_gram": "10",
      "token_chars": [
        "letter",
        "digit"
      ]
    }
  }
}
  },
  "mappings": {
"info": {
  "properties": {
    "txt": {
      "type": "string",
      "analyzer": "my_ngram_analyzer"
    },
    "date": {
      "type": "date"
    },
    "name": {
      "type": "string"
    },
    "user_id": {
      "type": "long"
    }
  }
}
  }
}

POST /test/info
{
  "txt":"가나다라"
}

POST /test/info
{
  "txt":"hello world"
}

GET /test/info/_search
{
  "query": {
    "match": {
      "txt": "hell"
    }
  }
}

GET /test/info/_search
{
  "query": {
    "match": {
      "txt": "나다"
    }
  }
}