zamis 5 лет назад
Родитель
Сommit
6e925540e5
2 измененных файлов с 15 добавлено и 1 удалено
  1. 14 1
      src/server/service/search-delegator/elasticsearch.js
  2. 1 0
      src/server/service/search.js

+ 14 - 1
src/server/service/search-delegator/elasticsearch.js

@@ -960,7 +960,7 @@ class ElasticsearchDelegator {
     return this.updateOrInsertPageById(page._id);
   }
 
-  async syncPageDeleted(pages, user) {
+  async syncPageDeletedCompletely(pages, user) {
     for (let i = 0; i < pages.length; i++) {
       logger.debug('SearchClient.syncPageDeleted', pages[i].path);
     }
@@ -973,6 +973,19 @@ class ElasticsearchDelegator {
     }
   }
 
+  async syncPageDeleted(pages, user) {
+    for (let i = 0; i < pages.length; i++) {
+      logger.debug('SearchClient.syncPageDeleted', pages[i].path);
+    }
+
+    try {
+      return await this.deletePages([pages]);
+    }
+    catch (err) {
+      logger.error('deletePages:ES Error', err);
+    }
+  }
+
   async syncBookmarkChanged(pageId) {
     logger.debug('SearchClient.syncBookmarkChanged', pageId);
 

+ 1 - 0
src/server/service/search.js

@@ -58,6 +58,7 @@ class SearchService {
     const pageEvent = this.crowi.event('page');
     pageEvent.on('create', this.delegator.syncPageUpdated.bind(this.delegator));
     pageEvent.on('update', this.delegator.syncPageUpdated.bind(this.delegator));
+    pageEvent.on('deleteCompletely', this.delegator.syncPageDeletedCompletely.bind(this.delegator));
     pageEvent.on('delete', this.delegator.syncPageDeleted.bind(this.delegator));
 
     const bookmarkEvent = this.crowi.event('bookmark');