elasticsearch 自定义ID
场景描述
es采集关系型数据库(mysql)中的数据 进行id 精准搜索, 由于mysql 中的ID 生成规则为 分布式ID(19位 ) 使用 long 类型接收并写入到es 中 会有精度的丢失 (es 版本 5.5.3 )
es采集核心代码
public static void insertOne(String index, String type, Object object) {
if (object != null) {
try {
Map<String, Object> objMap = (Map<String, Object>) JSON.toJSON(object);
try {
IndexRequest indexRequest = new IndexRequest(index, type, objMap.get("id").toString());
indexRequest.source(objMap);
highLevelClient.indexAsync(indexRequest, RequestOptions.DEFAULT, new ActionListener<IndexResponse>() {
@Override
public void onResponse(IndexResponse indexResponse) {
}