在spring boot中如何自定义创建Elasticsearch 索引的mapping和setting文件,并使用多种分词器

es如何安装插件请自行解决.我使用了ik分词和拼音分词器(https://github.com/medcl/elasticsearch-analysis-pinyin)

在resources目录下创建所需要的json文件

enterprise-setting.json

{
  "index":
  {
    "number_of_shards" : "10",
    "number_of_replicas" : "1",
    "analysis" : {
      "analyzer" : {
        "default" : {
          "tokenizer" : "ik_max_word"
        },
        "pinyin_analyzer" : {
          "tokenizer" : "my_pinyin"
        }
      },
      "tokenizer" : {
        "my_pinyin" : {
          "keep_separate_first_letter" : false,
          "lowercase" : true,
          "type" : "pinyin",
          "limit_first_letter_length" : "16",
          "keep_original" : false,
          "keep_full_pinyin" : true
        }
      }
    }
  }
}

这个文件作用是定义索引的分词器及相关配置,拼音分词器详细配置请查看源码

enterprise-mapping.json

{
  "enterprise": {
    "properties": {
      "name": {
        "analyzer": "pinyin_analyzer"
      },
      "companyAddress": {
        "analyzer": "ik_max_word"
      },
      "mainIndustry": {
        "analyzer": "ik_max_word"
      }
    }
  }
}

在此说明下

enterprise指定的是@Document注解中的type属性,类型

然后如下配置即可在spring boot中如何自定义创建Elasticsearch 索引的mapping和setting文件,并使用多种分词器_第1张图片

我是把json放在mapping下的注意路径,get,set省略.然后就可以愉快的查询

你可能感兴趣的:(es,spring,boot,java,elasticsearch,spring)