弹性搜索匹配查询的映射

Mapping for elastic search Match query

用于匹配查询的映射是什么以实现以下提到的情况


PUT index_v14
{
  "settings": {
    "analysis": {
      "analyzer": {
        "skm_analyzer": {
          "tokenizer": "skm_tokenizer"
        }
      },
      "tokenizer": {
        "skm_tokenizer": {
          "type": "ngram",
          "token_chars": [
            "letter",
            "digit",
            "punctuation",
            "symbol",
            "custom",
          ]
          "custom_token_chars": "/@[]-"
        }
      }
    }
  },
"mappings": {
  "title" : {
          "type" : "text",
          "analyzer" : "skm_analyzer",
          "search_analyzer" : "autocomplete_search"
        },
}

GET index_v14/_search
{
  "query": {
    "match": {
      "title":{
        "query":"[watch]: hello/stars",
        "operator":"and"
      }
      
    }
  }
}

任何人都可以帮助我进行映射以支持上述所有情况,无论是类型 text 还是类型 keyword 都可以

您需要 custom analyzer 以满足您所有需求的格式对输入 string 进行标记。

ngram tokenizer, lowercase token filter, and Mapping charfilter 是您在自定义分析器中需要的几个构建块。