Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
J
jyzb_platformV2
概览
Overview
Details
Activity
Cycle Analytics
版本库
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
问题
0
Issues
0
列表
Board
标记
里程碑
合并请求
0
Merge Requests
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
Snippets
成员
Members
Collapse sidebar
Close sidebar
活动
图像
聊天
创建新问题
作业
提交
Issue Boards
Open sidebar
赵剑炜
jyzb_platformV2
Commits
15df6f82
Commit
15df6f82
authored
Nov 06, 2023
by
赵剑炜
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
增加模糊查询的组织机构数据
parent
304ce506
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
387 行增加
和
8 行删除
+387
-8
QueryOrgReq.java
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/QueryOrgReq.java
+1
-0
CrudController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/ES/CrudController.java
+7
-0
PubOrgController.java
jyzb-biz/src/main/java/com/junmp/jyzb/controller/PubOrgController.java
+6
-0
PubOrgService.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/PubOrgService.java
+4
-0
PubOrgServiceImpl.java
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PubOrgServiceImpl.java
+181
-8
ElasticsearchUtil.java
jyzb-biz/src/main/java/com/junmp/jyzb/utils/ElasticsearchUtil.java
+188
-0
没有找到文件。
jyzb-api/src/main/java/com/junmp/jyzb/api/bean/query/QueryOrgReq.java
View file @
15df6f82
...
...
@@ -13,6 +13,7 @@ public class QueryOrgReq {
private
String
orgCode
;
@NotNull
(
message
=
"组织机构不能为空"
,
groups
=
{
ValidationApi
.
detail
.
class
})
private
Long
orgId
;
private
String
orgName
;
private
Long
parentId
;
private
Integer
isDepartment
;
private
Integer
level
;
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/controller/ES/CrudController.java
View file @
15df6f82
...
...
@@ -7,7 +7,12 @@ import com.junmp.jyzb.service.PubOrgService;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.elasticsearch.index.query.QueryStringQueryBuilder
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.sort.SortBuilders
;
import
org.elasticsearch.search.sort.SortOrder
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.elasticsearch.core.query.NativeSearchQueryBuilder
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
...
@@ -64,6 +69,7 @@ public class CrudController {
blog1
.
setStatus
(
1
);
blog1
.
setSerialNum
(
id1
.
toString
());
blogRepository
.
save
(
blog1
);
return
blogRepository
.
save
(
blog
);
}
...
...
@@ -113,6 +119,7 @@ public class CrudController {
@ApiOperation
(
"查找单个文档"
)
@GetMapping
(
"findById"
)
public
Blog
findById
(
Long
id
)
{
return
blogRepository
.
findById
(
id
).
get
();
}
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/controller/PubOrgController.java
View file @
15df6f82
...
...
@@ -17,6 +17,7 @@ import org.springframework.validation.annotation.Validated;
import
org.springframework.web.bind.annotation.*
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -53,6 +54,11 @@ public class PubOrgController {
public
ApiRes
<
OrgDto
>
GetCurrentList
(
@RequestBody
@Validated
(
ValidationApi
.
detail
.
class
)
QueryOrgReq
req
)
{
return
ApiRes
.
success
(
pubOrgService
.
getOrgHierarchy
(
req
));
}
@PostMapping
(
"/GetCurrentESList"
)
@ApiOperation
(
"根据当前组织机构列表ES查询"
)
public
ApiRes
<
List
<
OrgDto
>>
GetCurrentESList
(
@RequestBody
QueryOrgReq
req
)
throws
IOException
{
return
ApiRes
.
success
(
pubOrgService
.
getOrgHierarchyByEs
(
req
));
}
@PostMapping
(
"/ChangeOrgState"
)
@ApiOperation
(
"改变组织机构状态信息"
)
public
ApiRes
<
Boolean
>
changeOrgState
(
@RequestBody
@Validated
(
ValidationApi
.
updateStatus
.
class
)
UpdateOrgReq
req
)
{
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/PubOrgService.java
View file @
15df6f82
...
...
@@ -8,12 +8,14 @@ import com.junmp.jyzb.api.bean.query.QueryOrgReq;
import
com.junmp.jyzb.api.bean.req.UpdateOrgReq
;
import
com.junmp.jyzb.utils.ResponseResult
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Map
;
import
com.junmp.jyzb.entity.PubOrg
;
public
interface
PubOrgService
extends
IService
<
PubOrg
>
{
///添加至ES
Object
AddToEs
();
...
...
@@ -26,6 +28,8 @@ public interface PubOrgService extends IService<PubOrg> {
List
<
OrgDto
>
getOrgList
(
QueryOrgReq
req
);
OrgDto
getOrgHierarchy
(
QueryOrgReq
req
);
List
<
OrgDto
>
getOrgHierarchyByEs
(
QueryOrgReq
req
)
throws
IOException
;
List
<
OrgDto
>
getLowOrg
(
QueryOrgReq
req
);
Boolean
ChangeState
(
UpdateOrgReq
req
);
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/service/impl/PubOrgServiceImpl.java
View file @
15df6f82
...
...
@@ -18,12 +18,23 @@ import com.junmp.jyzb.api.exception.enums.PubOrgExceptionEnum;
import
com.junmp.jyzb.entity.EquipmentType
;
import
com.junmp.jyzb.entity.PubOrg
;
import
com.junmp.jyzb.entity.Supplier
;
import
com.junmp.jyzb.utils.HttpStatus
;
import
com.junmp.jyzb.utils.RedisUtils
;
import
com.junmp.jyzb.utils.ResponseResult
;
import
com.junmp.jyzb.utils.ReturnMsg
;
import
com.junmp.jyzb.utils.*
;
import
com.junmp.v2.common.exception.base.ServiceException
;
import
com.junmp.v2.common.util.BeanPlusUtil
;
import
lombok.NonNull
;
import
org.elasticsearch.action.search.ClearScrollRequest
;
import
org.elasticsearch.action.search.SearchRequest
;
import
org.elasticsearch.action.search.SearchResponse
;
import
org.elasticsearch.action.search.SearchScrollRequest
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.common.text.Text
;
import
org.elasticsearch.common.unit.TimeValue
;
import
org.elasticsearch.index.query.*
;
import
org.elasticsearch.search.SearchHit
;
import
org.elasticsearch.search.builder.SearchSourceBuilder
;
import
org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder
;
import
org.elasticsearch.search.fetch.subphase.highlight.HighlightField
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
javax.annotation.Resource
;
...
...
@@ -31,7 +42,9 @@ import com.junmp.jyzb.mapper.PubOrgMapper;
import
com.junmp.jyzb.service.PubOrgService
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.io.IOException
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
...
...
@@ -40,7 +53,8 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
@Resource
private
PubOrgMapper
pubOrgMapper
;
@Resource
private
RestHighLevelClient
client
;
@Autowired
private
RedisUtils
redisUtils
;
...
...
@@ -287,9 +301,7 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
public
OrgDto
getOrgHierarchy
(
QueryOrgReq
req
)
{
req
.
setDelFlag
(
1
);
// req.setDelFlag(1);
LambdaQueryWrapper
<
PubOrg
>
wp
=
this
.
createWrapper
(
req
);
// LambdaQueryWrapper<PubOrg> one = this.createWrapper(req);
List
<
PubOrg
>
list
=
this
.
list
(
wp
);
OrgDto
orgSet
=
new
OrgDto
();
PubOrg
OrgOne
=
this
.
getById
(
req
.
getOrgId
());
...
...
@@ -314,12 +326,173 @@ public class PubOrgServiceImpl extends ServiceImpl<PubOrgMapper, PubOrg> implem
}
orgs
.
add
(
org
);
});
return
getMaximumParent
(
orgs
,
orgSet
);
}
/**
* 搜索条件
* @return
* @throws IOException
*/
public
List
<
PubOrg
>
searchAll
()
throws
IOException
{
SearchRequest
request
=
new
SearchRequest
(
"org_pinyin"
);
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
()
.
must
(
QueryBuilders
.
matchAllQuery
())
// 匹配所有文档
.
filter
(
QueryBuilders
.
termQuery
(
"delFlag"
,
1
));
// 过滤 delFlag 为 1 的文档
builder
.
query
(
boolQueryBuilder
);
builder
.
size
(
5000
);
// 设置每页大小
request
.
source
(
builder
);
request
.
scroll
(
TimeValue
.
timeValueMinutes
(
1L
));
// 设置滚动时间
SearchResponse
searchResponse
=
client
.
search
(
request
,
RequestOptions
.
DEFAULT
);
List
<
PubOrg
>
pubOrgList
=
new
ArrayList
<>();
while
(
true
)
{
for
(
SearchHit
documentFields
:
searchResponse
.
getHits
().
getHits
())
{
Map
<
String
,
Object
>
sourceAsMap
=
documentFields
.
getSourceAsMap
();
PubOrg
pubOrg
=
this
.
fromMap
(
sourceAsMap
);
pubOrgList
.
add
(
pubOrg
);
}
SearchScrollRequest
scrollRequest
=
new
SearchScrollRequest
(
searchResponse
.
getScrollId
());
scrollRequest
.
scroll
(
TimeValue
.
timeValueMinutes
(
1L
));
searchResponse
=
client
.
scroll
(
scrollRequest
,
RequestOptions
.
DEFAULT
);
if
(
searchResponse
.
getHits
().
getHits
().
length
==
0
)
{
break
;
// 所有结果已经检索完成
}
}
// 清除滚动上下文
ClearScrollRequest
clearScrollRequest
=
new
ClearScrollRequest
();
clearScrollRequest
.
addScrollId
(
searchResponse
.
getScrollId
());
client
.
clearScroll
(
clearScrollRequest
,
RequestOptions
.
DEFAULT
);
return
pubOrgList
;
}
/**
* 搜索条件
* @param pageNum
* @param pageSize
* @param keyword
* @return
* @throws IOException
*/
public
List
<
PubOrg
>
searchOrg
(
Integer
pageNum
,
Integer
pageSize
,
String
keyword
)
throws
IOException
{
if
(
pageNum
<
0
)
pageNum
=
0
;
SearchRequest
request
=
new
SearchRequest
(
"org_pinyin"
);
SearchSourceBuilder
builder
=
new
SearchSourceBuilder
();
builder
.
from
(
pageNum
);
builder
.
size
(
pageSize
);
// 添加 MatchQueryBuilder 作为 must 条件
MatchQueryBuilder
matchQueryBuilder
=
QueryBuilders
.
matchQuery
(
"orgName"
,
keyword
).
operator
(
Operator
.
AND
);
MatchQueryBuilder
matchQueryBuilder2
=
QueryBuilders
.
matchQuery
(
"orgName.pinyin"
,
keyword
).
operator
(
Operator
.
AND
);
BoolQueryBuilder
boolQueryBuilder
=
QueryBuilders
.
boolQuery
();
boolQueryBuilder
.
should
(
matchQueryBuilder
);
boolQueryBuilder
.
should
(
matchQueryBuilder2
);
// 添加过滤条件,只获取 delFlag 为 1 的数据
builder
.
postFilter
(
QueryBuilders
.
termQuery
(
"delFlag"
,
1
));
builder
.
query
(
boolQueryBuilder
);
builder
.
timeout
(
new
TimeValue
(
60
,
TimeUnit
.
SECONDS
));
request
.
source
(
builder
);
SearchResponse
searchResponse
=
client
.
search
(
request
,
RequestOptions
.
DEFAULT
);
List
<
PubOrg
>
pubOrgList
=
new
ArrayList
<>();
for
(
SearchHit
documentFields
:
searchResponse
.
getHits
().
getHits
())
{
Map
<
String
,
Object
>
sourceAsMap
=
documentFields
.
getSourceAsMap
();
PubOrg
pubOrg
=
this
.
fromMap
(
sourceAsMap
);
// 添加到结果列表
pubOrgList
.
add
(
pubOrg
);
}
return
pubOrgList
;
}
// 从 Map 中构建 PubOrg 对象的方法
public
static
PubOrg
fromMap
(
Map
<
String
,
Object
>
map
)
{
PubOrg
pubOrg
=
new
PubOrg
();
BeanPlusUtil
.
copyProperties
(
map
,
pubOrg
);
// pubOrg.setOrgName((String) map.get("orgName"));
// 可以设置其他字段...
return
pubOrg
;
}
///通过ES获取数据
@Override
public
List
<
OrgDto
>
getOrgHierarchyByEs
(
QueryOrgReq
req
)
throws
IOException
{
req
.
setDelFlag
(
1
);
LambdaQueryWrapper
<
PubOrg
>
wp
=
this
.
createWrapper
(
req
);
ElasticsearchUtil
esUtil
=
new
ElasticsearchUtil
(
client
);
// 1. 从 Elasticsearch 中搜索组织机构数据
List
<
PubOrg
>
searchResults
=
searchOrg
(
0
,
20
,
req
.
getOrgName
());
// 2. 从数据库中获取完整的组织机构数据
List
<
PubOrg
>
fullOrgData
=
this
.
list
(
wp
);
// 3. 构建树状结构
List
<
OrgDto
>
tree
=
new
ArrayList
<>();
for
(
PubOrg
searchResult
:
searchResults
)
{
// 在完整数据中查找匹配的组织机构
PubOrg
fullOrg
=
findOrgById
(
fullOrgData
,
searchResult
.
getOrgId
());
// 将完整数据转换为前端需要的 DTO
OrgDto
orgDto
=
convertToDto
(
fullOrg
,
fullOrgData
);
// TODO: 根据需求决定是否加入树状结构
tree
.
add
(
orgDto
);
}
return
tree
;
}
private
PubOrg
findOrgById
(
List
<
PubOrg
>
fullOrgData
,
Long
orgId
)
{
for
(
PubOrg
org
:
fullOrgData
)
{
if
(
org
.
getOrgId
().
equals
(
orgId
))
{
return
org
;
}
}
return
null
;
// 如果找不到匹配的组织机构,可以根据实际需求进行处理
}
private
OrgDto
convertToDto
(
PubOrg
org
,
List
<
PubOrg
>
allOrgs
)
{
OrgDto
orgDto
=
new
OrgDto
();
// 这里根据你的实际字段进行映射
orgDto
.
setOrgId
(
org
.
getOrgId
());
orgDto
.
setOrgName
(
org
.
getOrgName
());
orgDto
.
setOrgCode
(
org
.
getOrgCode
());
orgDto
.
setIsDepartment
(
org
.
getIsDepartment
());
orgDto
.
setOrgParentId
(
org
.
getOrgParentId
());
orgDto
.
setAreaName
(
org
.
getAreaName
());
orgDto
.
setLevelFlag
(
String
.
valueOf
(
org
.
getLevelFlag
()));
orgDto
.
setStatusFlag
(
org
.
getStatusFlag
());
orgDto
.
setOrgParentId
(
org
.
getOrgParentId
());
orgDto
.
setDName
(
org
.
getDName
());
// 其他字段的映射...
// 查找当前节点的子节点
List
<
PubOrg
>
children
=
allOrgs
.
stream
()
.
filter
(
childOrg
->
org
.
getOrgId
().
equals
(
childOrg
.
getOrgParentId
()))
.
collect
(
Collectors
.
toList
());
// 如果子节点不为空,递归调用 convertToDto 处理子节点
if
(!
children
.
isEmpty
())
{
List
<
OrgDto
>
childrenDto
=
new
ArrayList
<>();
for
(
PubOrg
child
:
children
)
{
childrenDto
.
add
(
convertToDto
(
child
,
allOrgs
));
}
orgDto
.
setChildren
(
childrenDto
);
}
return
orgDto
;
}
public
OrgDto
getMaximumParent
(
List
<
OrgDto
>
orgs
,
OrgDto
org
)
{
OrgDto
dept
=
null
;
String
parentId
=
org
.
getOrgParentId
().
toString
();
...
...
jyzb-biz/src/main/java/com/junmp/jyzb/utils/ElasticsearchUtil.java
0 → 100644
View file @
15df6f82
package
com
.
junmp
.
jyzb
.
utils
;
import
com.alibaba.fastjson.JSONObject
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NonNull
;
import
lombok.extern.slf4j.Slf4j
;
import
org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest
;
import
org.elasticsearch.action.admin.indices.get.GetIndexRequest
;
import
org.elasticsearch.action.bulk.BulkRequest
;
import
org.elasticsearch.action.bulk.BulkResponse
;
import
org.elasticsearch.action.delete.DeleteRequest
;
import
org.elasticsearch.action.delete.DeleteResponse
;
import
org.elasticsearch.action.get.GetRequest
;
import
org.elasticsearch.action.get.GetResponse
;
import
org.elasticsearch.action.index.IndexRequest
;
import
org.elasticsearch.action.index.IndexResponse
;
import
org.elasticsearch.action.support.master.AcknowledgedResponse
;
import
org.elasticsearch.action.update.UpdateRequest
;
import
org.elasticsearch.action.update.UpdateResponse
;
import
org.elasticsearch.client.RequestOptions
;
import
org.elasticsearch.client.RestHighLevelClient
;
import
org.elasticsearch.client.indices.CreateIndexRequest
;
import
org.elasticsearch.client.indices.CreateIndexResponse
;
import
org.elasticsearch.common.unit.TimeValue
;
import
org.elasticsearch.common.xcontent.XContentType
;
import
org.elasticsearch.rest.RestStatus
;
import
org.elasticsearch.search.fetch.subphase.FetchSourceContext
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.List
;
import
java.util.Map
;
@Slf4j
@Data
@AllArgsConstructor
@NoArgsConstructor
(
force
=
true
)
public
class
ElasticsearchUtil
{
@Resource
private
RestHighLevelClient
client
;
/**
* 测试删除索引库
*/
public
boolean
deleteIndex
(
String
name
){
DeleteIndexRequest
deleteIndexRequest
=
new
DeleteIndexRequest
(
name
);
boolean
exists
=
false
;
try
{
AcknowledgedResponse
delete
=
client
.
indices
().
delete
(
deleteIndexRequest
,
RequestOptions
.
DEFAULT
);
if
(
delete
.
isAcknowledged
()){
return
true
;
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
exists
;
}
/**
* 测试添加日志记录文档
*/
public
boolean
createDocument
(
String
indexName
,
JSONObject
jsonObject
){
//组装数据
//创建请求
IndexRequest
request
=
new
IndexRequest
(
indexName
);
//设置规则
request
.
timeout
(
TimeValue
.
timeValueSeconds
(
1
));
//将数据放入请求对象里面
request
.
source
(
jsonObject
);
try
{
//发送请求 获取响应
IndexResponse
response
=
client
.
index
(
request
,
RequestOptions
.
DEFAULT
);
RestStatus
status
=
response
.
status
();
if
(
status
.
equals
(
RestStatus
.
OK
)){
return
true
;
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
/**
* 判断文档是否存在
* @param indexName 索引名称
* @param id 文档id
* @return
*/
public
boolean
documentIsExists
(
String
indexName
,
String
id
){
GetRequest
request
=
new
GetRequest
(
indexName
,
id
);
request
.
fetchSourceContext
(
new
FetchSourceContext
(
false
));
request
.
storedFields
(
"_none_"
);
boolean
exists
=
false
;
try
{
exists
=
client
.
exists
(
request
,
RequestOptions
.
DEFAULT
);
}
catch
(
IOException
e
)
{
log
.
warn
(
"判断文档是否存在异常: {}"
,
e
.
getMessage
());
e
.
printStackTrace
();
}
return
exists
;
}
/**
* 根据id获取文档
* @param indexName 索引名称
* @param id 文档id
* @return
*/
public
Map
<
String
,
Object
>
getDocument
(
String
indexName
,
String
id
){
GetRequest
request
=
new
GetRequest
(
indexName
,
id
);
try
{
GetResponse
documentFields
=
client
.
get
(
request
,
RequestOptions
.
DEFAULT
);
return
documentFields
.
getSource
();
}
catch
(
IOException
e
)
{
log
.
warn
(
"获取文档失败: {}"
,
e
.
getMessage
());
e
.
printStackTrace
();
}
return
null
;
}
/**
* 根据文档id修改文档信息
* @param indexName 索引名称
* @param id 文档id
*/
public
boolean
updateDocument
(
String
indexName
,
String
id
,
JSONObject
jsonObject
){
UpdateRequest
request
=
new
UpdateRequest
(
indexName
,
id
);
try
{
request
.
timeout
(
TimeValue
.
timeValueSeconds
(
1
));
request
.
doc
(
jsonObject
,
XContentType
.
JSON
);
UpdateResponse
update
=
client
.
update
(
request
,
RequestOptions
.
DEFAULT
);
if
(
update
.
status
().
equals
(
RestStatus
.
OK
)){
return
true
;
}
}
catch
(
IOException
e
)
{
log
.
warn
(
"修改文档失败: {}"
,
e
.
getMessage
());
e
.
printStackTrace
();
}
return
false
;
}
/**
* 删除文档
* @param indexName 索引名称
* @param id 文档id
*/
public
boolean
deleteDocument
(
String
indexName
,
String
id
){
DeleteRequest
request
=
new
DeleteRequest
(
indexName
,
id
);
try
{
DeleteResponse
delete
=
client
.
delete
(
request
,
RequestOptions
.
DEFAULT
);
if
(
delete
.
status
().
equals
(
RestStatus
.
OK
)){
return
true
;
}
}
catch
(
IOException
e
){
log
.
warn
(
"修改文档失败: {}"
,
e
.
getMessage
());
e
.
printStackTrace
();
}
return
false
;
}
/**
* 批量插入文档数据
* @param indexName 索引
* @param list 批量文档
* @return
*/
public
boolean
bulkDocument
(
String
indexName
,
List
<
JSONObject
>
list
){
BulkRequest
bulkRequest
=
new
BulkRequest
(
indexName
);
bulkRequest
.
timeout
(
TimeValue
.
timeValueSeconds
(
2
));
try
{
list
.
forEach
(
item
->
bulkRequest
.
add
(
new
IndexRequest
().
source
(
item
,
XContentType
.
JSON
)));
BulkResponse
bulk
=
client
.
bulk
(
bulkRequest
,
RequestOptions
.
DEFAULT
);
if
(
bulk
.
status
().
equals
(
RestStatus
.
OK
)){
return
true
;
}
}
catch
(
IOException
e
)
{
e
.
printStackTrace
();
}
return
false
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论