Taichi Masuyama пре 4 година
родитељ
комит
8b65778d15

+ 1 - 1
packages/app/src/server/interfaces/search.ts

@@ -27,8 +27,8 @@ export interface SearchResolver {
 export interface SearchDelegator<T = unknown, KEY extends AllTermsKey = AllTermsKey, QTERMS = unknown> {
 export interface SearchDelegator<T = unknown, KEY extends AllTermsKey = AllTermsKey, QTERMS = unknown> {
   name?: SearchDelegatorName
   name?: SearchDelegatorName
   search(data: SearchableData | null, user, userGroups, option): Promise<ISearchResult<T>>
   search(data: SearchableData | null, user, userGroups, option): Promise<ISearchResult<T>>
+  isTermsNormalized(terms: Partial<QueryTerms>): terms is QTERMS,
   validateTerms(terms: QueryTerms): UnavailableTermsKey<KEY>[],
   validateTerms(terms: QueryTerms): UnavailableTermsKey<KEY>[],
-  excludeUnavailableTerms(terms: QueryTerms): QTERMS,
 }
 }
 
 
 export type SearchableData = {
 export type SearchableData = {

+ 4 - 13
packages/app/src/server/service/search-delegator/elasticsearch.ts

@@ -988,21 +988,12 @@ class ElasticsearchDelegator implements SearchDelegator<Data, ESTermsKey, ESQuer
     return this.searchKeyword(query);
     return this.searchKeyword(query);
   }
   }
 
 
-  validateTerms(terms: QueryTerms): UnavailableTermsKey<ESTermsKey>[] {
-    return [];
+  isTermsNormalized(terms: Partial<QueryTerms>): terms is ESQueryTerms {
+    return true;
   }
   }
 
 
-  excludeUnavailableTerms(terms: QueryTerms): ESQueryTerms {
-    return {
-      match: [],
-      not_match: [],
-      phrase: [],
-      not_phrase: [],
-      prefix: [],
-      not_prefix: [],
-      tag: [],
-      not_tag: [],
-    };
+  validateTerms(terms: QueryTerms): UnavailableTermsKey<ESTermsKey>[] {
+    return [];
   }
   }
 
 
   async syncPageUpdated(page, user) {
   async syncPageUpdated(page, user) {

+ 4 - 9
packages/app/src/server/service/search-delegator/private-legacy-pages.ts

@@ -64,17 +64,12 @@ class PrivateLegacyPagesDelegator implements SearchDelegator<IPage, MongoTermsKe
     };
     };
   }
   }
 
 
-  validateTerms(terms: QueryTerms): UnavailableTermsKey<MongoTermsKey>[] {
-    return [];
+  isTermsNormalized(terms: Partial<QueryTerms>): terms is MongoQueryTerms {
+    return true;
   }
   }
 
 
-  excludeUnavailableTerms(terms: QueryTerms): MongoQueryTerms {
-    return {
-      match: [''],
-      not_match: [''],
-      prefix: [''],
-      not_prefix: [''],
-    };
+  validateTerms(terms: QueryTerms): UnavailableTermsKey<MongoTermsKey>[] {
+    return [];
   }
   }
 
 
 }
 }