Skip to content

Commit

Permalink
api change and checks
Browse files Browse the repository at this point in the history
  • Loading branch information
carchrae committed Oct 25, 2012
1 parent bcd33f0 commit 3b1e25d
Showing 1 changed file with 18 additions and 8 deletions.
26 changes: 18 additions & 8 deletions app/models/elasticsearch/ElasticSearch.java
Expand Up @@ -14,7 +14,6 @@
import org.apache.commons.beanutils.PropertyUtilsBean;
import org.apache.commons.lang.BooleanUtils;
import org.apache.commons.lang.StringUtils;
import org.bouncycastle.ocsp.Req;
import org.codehaus.groovy.util.StringUtil;
import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.map.DeserializationConfig.Feature;
Expand Down Expand Up @@ -93,7 +92,7 @@ private static ObjectMapper getMapper() {
if (mapper == null) {
synchronized (client) {
mapper = new ObjectMapper();
mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
mapper.configure(Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
}
}
return mapper;
Expand All @@ -110,25 +109,36 @@ private static ObjectMapper getMapper() {
* @param objects
*/
public static void bulkImport(String index, String type, String idField,
List<Object> objects) {
List<?> objects) {

if (objects == null || objects.size() == 0) {
Logger.warn("Nothing to save");
return;
}

BulkRequestBuilder bulk = getClient().prepareBulk();

for (int i = 0; i < objects.size(); i++) {
Object record = objects.get(i);
Map<String, Object> recordMap = getMapper().convertValue(record,
HashMap.class);

Map<String, Object> recordMap;
if (record instanceof Map)
recordMap = (Map<String, Object>) record;
else
recordMap = getMapper().convertValue(record, HashMap.class);
String id = null;
if (idField != null) {
id = getMapper().convertValue(recordMap.get(id), String.class);
id = getMapper().convertValue(recordMap.get(idField),
String.class);
}

IndexRequestBuilder request = getClient().prepareIndex(index, type,
id).setSource(recordMap);
bulk.add(request);
}
BulkResponse bulkResponse = bulk.execute().actionGet();
if (bulkResponse.hasFailures()) {
Logger.error("Failed to add elements");
Logger.error("Failed to add elements: "
+ bulkResponse.buildFailureMessage());
} else
Logger.info("Imported " + objects.size() + " objects");
}
Expand Down

0 comments on commit 3b1e25d

Please sign in to comment.