|
@@ -954,20 +954,25 @@ public class SearchIndexServiceImpl implements SearchIndexService {
|
|
|
PageHelper.startPage(i, 50);
|
|
|
// 获取失效商品IDs
|
|
|
List<Integer> invalidIds = searchMapper.findArticleInvalidIds();
|
|
|
- // 删除文档只需要设置需删除文档主键值即可
|
|
|
- Map<String, Object> deleteDoc = Maps.newLinkedHashMap();
|
|
|
+ JSONArray docsJsonArr = new JSONArray();
|
|
|
for (Integer invalidId : invalidIds) {
|
|
|
+ // 删除文档只需要设置需删除文档主键值即可
|
|
|
+ Map<String, Object> deleteDoc = Maps.newLinkedHashMap();
|
|
|
// 根据ID(主键)删除文档
|
|
|
deleteDoc.put("a_id", invalidId);
|
|
|
Integer mainId = searchQueryService.getIdByDocId("article", invalidId);
|
|
|
if (mainId > -1) {
|
|
|
deleteDoc.put("id", mainId);
|
|
|
}
|
|
|
+ //此处设置删除文档处理
|
|
|
+ JSONObject deleteJson = new JSONObject();
|
|
|
+ deleteJson.put(DocumentConstants.DOC_KEY_CMD, Command.DELETE.toString());
|
|
|
+ deleteJson.put(DocumentConstants.DOC_KEY_FIELDS, deleteDoc);
|
|
|
+ docsJsonArr.put(deleteJson);
|
|
|
}
|
|
|
try {
|
|
|
- String deleteJsonStr = setDeleteDocument(deleteDoc);
|
|
|
// 推送到阿里云
|
|
|
- String deleteResult = searchOpenService.pushDocument(deleteJsonStr, "search_article");
|
|
|
+ String deleteResult = searchOpenService.pushDocument(docsJsonArr.toString(), "search_article");
|
|
|
log.info("删除文档:" + deleteResult);
|
|
|
} catch (OpenSearchClientException | OpenSearchException | JSONException e) {
|
|
|
log.warn("删除文档异常:" + e);
|