ElasticSearch bulk 대량 삽입 데이터
2963 단어 ELK
코드는 다음과 같습니다.
/**
* es
* 1. es clent
* 2. bulk
* 3. bulk
* 4. rest
* 5. client
* @throws IOException
*/
public void bulk2() throws IOException {
int a = 1;
//
RestHighLevelClient restClient = new RestHighLevelClient(
RestClient.builder(
new HttpHost("localhost",9200,"http")
)
);
BulkRequest request = new BulkRequest();
// source Map(String,Object)
request.add(new IndexRequest("index_text","doc","1")
.source(XContentType.JSON,"name","amy","age",10))
.add(new IndexRequest("index_text","doc","2")
.source(XContentType.JSON,"name","bob","age",11));
restClient.bulk(request);
restClient.close();
}
코드에서source () 로 전송되는 매개 변수는 형식일 수도 있습니다
// Map(String,Object) source
BulkRequest request2 = new BulkRequest();
Map jsonMap = new HashMap<>();
jsonMap.put("name"," ");
jsonMap.put("age",11);
request2.add(new IndexRequest("index_text","doc","1")
.source(jsonMap));
restClient.bulk(request2);
// XContentBuilder source
XContentBuilder builder = new XContentFactory().jsonBuilder();
builder.startObject();
{
builder.field("name"," ");
builder.timeField("date",new Date());
}
builder.endObject();
BulkRequest request3 = new BulkRequest();
request3.add(new IndexRequest("index_text","doc","5")
.source(builder));
문제 발생:java.lang.NoClassDefFoundError: org/elasticsearch...오보
원인: 의존이 맞지 않습니다 org.elasticsearch elasticsearch 의존은 로컬es버전과 같기 때문이다(내가 사용한 것은 6.3.1)
필요한 의존도는 다음과 같다(4개).
org.elasticsearch.client
elasticsearch-rest-high-level-client
6.3.2
org.elasticsearch
elasticsearch
6.3.1
org.apache.logging.log4j
log4j-core
2.11.1
org.apache.logging.log4j
log4j-api
2.11.1
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
ELK 스택 구축ElasticSearch, LogStash, Kibana 조합으로 로그 수집 - 로그 저장 및 검색 - 시각화로 쓰이게 된다. Logstash는 실시간 파이프라인 기능을 갖는 데이터 수집 엔지이며, Input을 받아...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.