es依賴包我們通常指兩個org.elasticsearch:elasticsearch和org.elasticsearch.client:elasticsearch-rest-high-level-client,這兩個包的版本需要對應上,你的索引初始化才能生效,否則你在物體上添加的@Setting,@Mapping是不會生效的,
版本兼容
對于springboot2.2.6.RELEASE版本的spring-boot-starter-data-elasticsearch來說,我們選擇以下兩個版本的客戶端,是比較兼容的
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>6.5.4</version>
</dependency>
<!-- elasticsearch對應兼容版本為6.8.7-->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>6.8.7</version>
</dependency>
物體上添加初始化索引
- es-mapping.json內容,確定了分片資料,副本資料,分頁數等
{
"index": {
// 分頁數
"max_result_window": 1000000,
// 分片數,30G一個片
"number_of_shards": 10,
// 副本
"number_of_replicas": 1
}
}
- 物體EventRecord內容
@Document(indexName = "kc_event_logger")
@Setting(settingPath = "mapping/es-setting.json")
@Data
public class EventRecord implements Serializable {
}
- 生成的索引也是沒有問題的

注意@Mapping(mappingPath = "mapping/es-mapping.json") 這個根據xml生成mapping的我測驗總有問題,而且,使用上面的方法不需要你添加@Mapping了,因為索引的mapping已經根據物體欄位動態生成了,
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/374468.html
標籤:其他
上一篇:MySQL常見問題
