High-Level-REST-Client 操作ES(boot2.4.4、esdata4.1x、es7.9.3)

一、IndexRequest

1.索引、請求的文檔id、以字符串形式提供的文檔源
IndexRequest request = new IndexRequest("posts"); 
request.id("1"); 
String jsonString = "{" +
        "\"user\":\"kimchy\"," +
        "\"postDate\":\"2013-01-30\"," +
        "\"message\":\"trying out Elasticsearch\"" +
        "}";
request.source(jsonString, XContentType.JSON); 
2.作為映射提供的文檔源,該映射將自動轉換為JSON格式
Map<String, Object> jsonMap = new HashMap<>();
jsonMap.put("user", "kimchy");
jsonMap.put("postDate", new Date());
jsonMap.put("message", "trying out Elasticsearch");
IndexRequest indexRequest = new IndexRequest("posts")
    .id("1").source(jsonMap); 
3.文檔源以對象密鑰對的形式提供,并轉換為JSON格式
IndexRequest indexRequest = new IndexRequest("posts")
    .id("1")
    .source("user", "kimchy",
        "postDate", new Date(),
        "message", "trying out Elasticsearch"); 
Optional argumentsedit-可以選擇提供以下參數(shù):

路由值

request.routing("routing"); 

路由值

#Timeout to wait for primary shard to become available as a TimeValue(等待主碎片作為時間值可用的超時)
request.timeout(TimeValue.timeValueSeconds(1)); 
#Timeout to wait for primary shard to become available as a String(等待主碎片作為字符串可用的超時)
request.timeout("1s"); 
#將策略刷新為WriteRequest.RefreshPolicy文件實例
request.setRefreshPolicy(WriteRequest.RefreshPolicy.WAIT_UNTIL); 
#將策略刷新為字符串
request.setRefreshPolicy("wait_for");                 
#版本
request.version(2); 
#版本類型
request.versionType(VersionType.EXTERNAL); 
#操作類型作為DocWriteRequest.OpType文件價值
request.opType(DocWriteRequest.OpType.CREATE); 
#作為字符串提供的操作類型:可以創(chuàng)建或索引(默認)
request.opType("create"); 
#索引文檔之前要執(zhí)行的攝取管道的名稱
request.setPipeline("pipeline"); 
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容