springboot整合ElasticSearch遇到的坑,首先小编这里先列一下小编用到的版本,版本详情如下:
1、springboot : 2.1.8.RELEASE
2、spring-data-elasticsearch-3.1.10.RELEASE
2、Elasticsearch:6.6.2
3、分词器:ik6.6.2版本
4、kibana-6.6.0
1.版本问题
这个不是小编一个遇到,网上遇到这个问题的人很多,会找很久,版本找对会节省挺多时间的。
由于网上有很多安装配置的文章、视频,小编在这里就不多说了,就在这里简单说一下通过注解动态配置Setting。
2、通过注解动态配置Setting
由于我用的是动态生成索引,所以就通过注解的方式进行设置setting.,特别是做自动补全、推荐时就要进行Put Settings
(一)、实体配置
@Document(indexName = "products", type = "_doc", shards = 1, replicas = 0)
@Setting(settingPath = "/json/settings/settings.json") // es设置用拼音补全
@Mapping(mappingPath = "/json/mappings/productIndex.json") // 解决IK分词不能使用问题
配置主要有三块:1,、定义自己的索引名称、类型、分片等相关属性。
2、Setting设置我们通用Setting的路径json文件 //es 设置自动补全、用拼音等通用属性
3、做映射、解决IK分词使用(也可通过@Field字段做)。
具体的实体内容根据自己项目的实体操作,下边在resources目录下创建自己的json文件就可以:如下图所示s
mappings是索引文件,跟自己搜索的映射设置,Settings中放通用的设置(当然你也可以通过kibana语句执行),
在写settings.json和mapping的实例如下: