elastic search配置ik分词及pinyin分词使搜索同时支持中文和拼音搜索

1、先下载ik分词和pinyin分词,并放到esplugins相应目录中


2、定义ik分词后的pinyin分词器,即定义一个自定义分词器ik_pinyin_analyzer

#删除索引
DELETE common_poi

#创建索引
PUT common_poi
{
  "settings": {
    "number_of_shards": 1,
    "number_of_replicas": 0
  }
}

#关闭索引
POST common_poi/_close

#自定义分词器(ik分器词和拼音分词)
PUT common_poi/_settings
{
    "settings": {
        "index": {
            "analysis": {
                "analyzer": {
                    "ik_pinyin_analyzer": {
                        "type": "custom",
                        "tokenizer": "ik_max_word",
                        "filter": ["my_pinyin"]
                    }
                },
                "filter": {
                    "my_pinyin": {
                        "type": "pinyin",
                        "keep_separate_first_letter": false,
                        "keep_full_pinyin": true,
                        "keep_original": false,
                        "limit_first_letter_length": 10,
                        "lowercase": true,
                        "remove_duplicated_term": true
                    }
                }
            }
        }
    }
}

#字段映射
PUT common_poi/_mappings
{
  "dynamic":false,
  "properties":{
      "id":{
          "type":"long"
      },
      "name":{
          "type":"text",
          "index":true,
          "analyzer":"ik_pinyin_analyzer"
      },
      "longitude":{
          "type":"double"
      },
      "latitude":{
          "type":"double"
      },
      "address":{
          "type":"text",
          "index":true,
          "analyzer":"ik_max_word"
      },
      "phone":{
          "type":"text",
          "index":true
      },
      "type":{
          "type":"text",
          "index":true,
          "analyzer":"ik_max_word"
      },
      "realType":{
          "type":"text",
          "index":true,
          "analyzer":"ik_max_word"
      }
  }
}

#打开索引
POST common_poi/_open

#条件搜索
GET common_poi/_search
{
  "query": {
    "match": {
      "name": "can饮"
    }
  }
}
上一篇:LOJ6033「雅礼集训 2017 Day2」棋盘游戏(二分图最大匹配必经点)


下一篇:es 中文分词器IK