解决spring data elasticsearch @Field配置分词器 analyzer无效问题
spring data elasticsearch 配置搜索实体配置正确 但是分词器无法在elasticsearch加上 ,可能原因是 @Field 上的 type必须用FieldType.Text,如果不是会导致所有的 analyzer都无法配置上,原因是text才会使用分词,而Keyword之类的不会分词,所以导致elasticsearch putMappinge接口报错。错误的写法@Fiel
·
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);
更多推荐
已为社区贡献1条内容
所有评论(0)