open search record id generated with sha-256 function
This commit is contained in:
parent
8b2b703c6f
commit
0d0ca09983
|
@ -4,6 +4,8 @@ import eu.dnetlib.ariadneplus.elasticsearch.model.AriadnePlusEntry;
|
||||||
import eu.dnetlib.ariadneplus.elasticsearch.model.AriadneResource;
|
import eu.dnetlib.ariadneplus.elasticsearch.model.AriadneResource;
|
||||||
import eu.dnetlib.ariadneplus.elasticsearch.model.Spatial;
|
import eu.dnetlib.ariadneplus.elasticsearch.model.Spatial;
|
||||||
import eu.dnetlib.ariadneplus.reader.ResourceManager;
|
import eu.dnetlib.ariadneplus.reader.ResourceManager;
|
||||||
|
import eu.dnetlib.ariadneplus.reader.utils.ESUtils;
|
||||||
|
import org.apache.commons.codec.digest.DigestUtils;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
|
@ -28,7 +30,10 @@ import org.springframework.beans.factory.annotation.Value;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
|
import javax.xml.bind.DatatypeConverter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
|
import java.nio.charset.StandardCharsets;
|
||||||
|
import java.security.MessageDigest;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
@ -188,12 +193,13 @@ public class BulkUpload {
|
||||||
ace.getSpatial().clear();
|
ace.getSpatial().clear();
|
||||||
ace.setSpatial(dedupSpatials);
|
ace.setSpatial(dedupSpatials);
|
||||||
}
|
}
|
||||||
|
|
||||||
String[] splits = ace.getIdentifier().split("/");
|
|
||||||
|
|
||||||
log.debug("JSON >>>> "+ace.toJson());
|
log.debug("JSON >>>> "+ace.toJson());
|
||||||
|
|
||||||
String idES = splits[splits.length-1];
|
MessageDigest digest = MessageDigest.getInstance("SHA-256");
|
||||||
|
byte[] encodedhash = digest.digest(
|
||||||
|
ace.getIdentifier().getBytes(StandardCharsets.UTF_8));
|
||||||
|
String idES = ESUtils.bytesToHex(encodedhash);
|
||||||
|
log.debug("indexing " + ace.getIdentifier() + " > " + idES);
|
||||||
request.add(new IndexRequest(elasticSearchIndexName).id(idES)
|
request.add(new IndexRequest(elasticSearchIndexName).id(idES)
|
||||||
.source(ace.toJson(),XContentType.JSON));
|
.source(ace.toJson(),XContentType.JSON));
|
||||||
long start = System.currentTimeMillis();
|
long start = System.currentTimeMillis();
|
||||||
|
|
|
@ -61,4 +61,16 @@ public class ESUtils {
|
||||||
ZonedDateTime zd = ZonedDateTime.parse(BSTDate, BST_FORMATTER);
|
ZonedDateTime zd = ZonedDateTime.parse(BSTDate, BST_FORMATTER);
|
||||||
return zd.format(elasticSearchDateFormatter);
|
return zd.format(elasticSearchDateFormatter);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String bytesToHex(byte[] hash) {
|
||||||
|
StringBuilder hexString = new StringBuilder(2 * hash.length);
|
||||||
|
for (int i = 0; i < hash.length; i++) {
|
||||||
|
String hex = Integer.toHexString(0xff & hash[i]);
|
||||||
|
if(hex.length() == 1) {
|
||||||
|
hexString.append('0');
|
||||||
|
}
|
||||||
|
hexString.append(hex);
|
||||||
|
}
|
||||||
|
return hexString.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue