elasticsearch批量建索引出错

Amacoder Amacoder 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
用elasticsearch批量创建索引时候会报以下错误
[0]: index [myshop_portal], type [type-product], id [1], message [UnavailableShardsException[[myshop_portal][2] Primary shard is not active or isn't assigned is a known node. Timeout: [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@47359fdc]]
[2]: index [myshop_portal], type [type-product], id [3], message [UnavailableShardsException[[myshop_portal][4] Primary shard is not active or isn't assigned is a known node. Timeout: [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@2e0a2298]]
[3]: index [myshop_portal], type [type-product], id [4], message [UnavailableShardsException[[myshop_portal][0] Primary shard is not active or isn't assigned is a known node. Timeout: [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@7b5c733d]]
[5]: index [myshop_portal], type [type-product], id [13], message [UnavailableShardsException[[myshop_portal][2] Primary shard is not active or isn't assigned is a known node. Timeout: [1m], request: org.elasticsearch.action.bulk.BulkShardRequest@47359fdc]]

但是用junit跑就不出错....

public void bulkIndex(List<SearchDocument> searchDocuments) {
try {
Node node = NodeBuilder.nodeBuilder().node();
client = node.client();
BulkRequestBuilder bulkRequest = client.prepareBulk();
for (SearchDocument searchDoc : searchDocuments) {
IndexRequestBuilder indexRequest = this.prepareIndexRequest(searchDoc);
bulkRequest.add(indexRequest);
}
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
if (bulkResponse.hasFailures()) {
throw new ElasticSearchException(bulkResponse.buildFailureMessage());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (client != null) {
client.close();
}
}
}

private IndexRequestBuilder prepareIndexRequest(SearchDocument searchDoc) throws Exception {
String id = searchDoc.getId();
String source = searchDoc.getSource();
IndexRequestBuilder indexRequestBuilder = null;
if (source != null) {
System.out.println(source);
indexRequestBuilder = client.prepareIndex(searchDoc.getIndexName(), searchDoc.getType(), id).setSource(source);
} else {
throw new ElasticSearchException("object or source is null, failed to index the document [id: " + searchDoc.getId() + "]");
}
return indexRequestBuilder;
}

...全文

相关推荐

springBoot整合kafka和elasticSearch,实现批量拉取日志以及批量更新到es里

**错误处理**:处理可能出现的异常,如网络中断、ES索引冲突等,确保系统的健壮性。4. **索引分片和副本**:根据集群资源设置合适的Elasticsearch索引分片和副本数量,提高读写性能。

a1833255

springboot整合全文搜索引擎Elasticsearch | Spring Boot 28

???? Java学习路线配套文章:Java学习路线总结,搬砖工逆袭Java架构师(全网最强) ???? 基础推荐:Java基础教程系列 ???? 实战推荐:Spring Boot基础教程 ???? 简介:Java领域优质创作者????、CSDN哪吒公众号作者✌ 、Java架构师奋斗者???? ???? 扫描主页左侧二维码,加入群聊,一起学习、一起进步 ???? 欢迎点赞 ???? 收藏 ⭐留言 ???? 目录一、Elasticsearch简介二、下载与安装1、Elasticsearch官网下载地址2、下

哪 吒

Spring Boot 与 Elasticsearch 搜索引擎整合

数据同步:如何将关系型数据库(如MySQL)中的数据实时同步到ES?查询性能:如何优化复杂查询(如多条件过滤、聚合)的响应时间?分布式一致性:ES集群分片/副本机制下,如何保证数据的可靠性?开发效率:如何避免重复编写ES客户端代码,实现"面向对象"的搜索开发?使用@Document和@Field@Data@Document(indexName = "product", shards = 3, replicas = 2) // 3分片,2副本@Id // 对应ES文档的_id字段。

AI架构全栈开发实战笔记

es通过mapping创建索引出错

问题描述: 最近,我在es中创建索引的时候报出奇怪的错误,问题描述大致如下,这个错误后来验证后发现不少同学也遇到过,主要是es版本的差异造成的, Caused by: ElasticsearchException[Elasticsearch exception [type=illegal_argument_exception, reason=Could not convert [regionNam...

小码农叔叔

shell脚本批量删除es索引的方法

在IT行业中,Elasticsearch(简称ES)是一个广泛使用的分布式搜索引擎,它提供了高效的数据存储、检索和分析功能。

weixin_38698174
评论 3
收藏 已收藏
分享
返回顶部
Amacoder
Web 开发 81,108 成员 341,721 内容