jestclient對Elasticsearch相關的操作


/**
* 創建索引
*/
public static void createIndex(JestClient client, String index) {
try {
JestResult result = client.execute(new CreateIndex.Builder(index).build());
LOGGER.info("result state:{}", result.isSucceeded());
} catch (IOException e) {
e.printStackTrace();
}
}

/**
* 刪除索引
*/
public static void deleteIndex(JestClient client, String index) {
try {
JestResult result = client.execute(new DeleteIndex.Builder(index).build());
LOGGER.info("result state:{}", result.isSucceeded());
} catch (IOException e) {
e.printStackTrace();
}
}

/**
* 創建索引映射
*/
public static void createIndexMapping(JestClient client, String index, String type,
Object mapping) {
PutMapping.Builder builder = new PutMapping.Builder(index, type, mapping);

try {
JestResult result = client.execute(builder.build());
LOGGER.info("result state:{}", result.isSucceeded());
} catch (IOException e) {
e.printStackTrace();
}
}

public static String getIndexMapping(JestClient client, String index, String type){
GetMapping.Builder builder = new Builder();
builder.addIndex(index).addType(type);
try {
JestResult result = client.execute(builder.build());
LOGGER.info("result state:{}", result.isSucceeded());
return result.getJsonString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

public static void insertOrUpdateDocument(JestClient client, String id, String index,
Object source, String type) {
Index.Builder builder = new Index.Builder(source);
builder.id(id);
builder.refresh(true);
Index docIndex = builder.index(index).type(type).build();
try {
DocumentResult result = client.execute(docIndex);
LOGGER.info("result state:{}", result.isSucceeded());
} catch (IOException e) {
e.printStackTrace();
}
}

查詢相關
public static BoolQueryBuilder getQueryByFaceTime(BoolQueryBuilder query, long startTime,
long endTime) {
query.must(QueryBuilders.rangeQuery("face_time").gt(startTime).lt(endTime));
return query;
}

public static BoolQueryBuilder getQueryBySimilarity(BoolQueryBuilder query, float similarity) {
query.must(QueryBuilders.termQuery("human_similarity", similarity));
return query;
}

public static BoolQueryBuilder getQueryByDeviceId(BoolQueryBuilder query, String deviceId) {
query.must(QueryBuilders.termQuery("device_id", deviceId));
return query;
}

public static BoolQueryBuilder getQueryNotByRowKey(BoolQueryBuilder query, String rowKey) {
query.mustNot(QueryBuilders.termQuery("rowKey", rowKey));
return query;
}

public static BoolQueryBuilder getMergeIdsByHumanId(BoolQueryBuilder query, String humanId){
query.must(QueryBuilders.termQuery("human_id", humanId));
return query;
}

public static String getSearchSource(BoolQueryBuilder query, String[] columns) {
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(query).fetchSource(columns, null);
return searchSourceBuilder.toString();
}

public static AggregationBuilder countByField(String field,int size) {
return AggregationBuilders.terms("snap_count").field(field).size(size);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM