spring data elasticsearch 配置搜索实体配置正确 但是分词器无法在elasticsearch加上 ,可能原因是 @Field 上的 type 必须用FieldType.Text ,如果不是会导致所有的 analyzer都无法配置上,原因是text才会使用分词,而Keyword之类的不会分词,所以导致elasticsearch putMappinge接口报错。
错误的写法
@Field(type = FieldType.Keyword, searchAnalyzer = "ik_smart", analyzer = "ik_max_word") private String title;
正确的写法
@Field(type = FieldType.Text , searchAnalyzer = "ik_smart", analyzer = "ik_max_word") private String title;
新版本的初始化索引用的Api是下面这个 可以项目启动就初始化一下防止插入数据时候索引不存在而报错
elasticsearchRestTemplate.indexOps(XXXXX.class);
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)