From dd9a492f6e82711de3cd73fbcf18f67c431e2a68 Mon Sep 17 00:00:00 2001 From: ThomasTodt <tbt20@inf.ufpr.br> Date: Fri, 23 May 2025 12:02:12 -0300 Subject: [PATCH] map nomes index --- src/services/search.service.ts | 35 ++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/services/search.service.ts b/src/services/search.service.ts index 17e436a..e30c629 100644 --- a/src/services/search.service.ts +++ b/src/services/search.service.ts @@ -158,7 +158,7 @@ export class SearchService { // sortBy?: keyof SortableFilterFields, sortBy?: SortableField, sortOrder: 'asc' | 'desc' = 'desc', - index: string[] = [env.ELASTIC_INDEX_USERS, env.ELASTIC_INDEX_COLLECTIONS, env.ELASTIC_INDEX_RESOURCES], + index?: string[], offset: number = 0, page_size: number = 1000 ) { @@ -185,6 +185,22 @@ export class SearchService { ]; } + // lógica para mapear index na requisição para nome do index no back + const indexMap: Record<string, string> = { + users: env.ELASTIC_INDEX_USERS, + collections: env.ELASTIC_INDEX_COLLECTIONS, + resources: env.ELASTIC_INDEX_RESOURCES, + }; + + const resolvedIndexes = (index ?? []) + .map(i => indexMap[i]) + .filter((i): i is string => Boolean(i)); + + const indexesToUse = resolvedIndexes.length > 0 + ? resolvedIndexes + : [env.ELASTIC_INDEX_USERS, env.ELASTIC_INDEX_COLLECTIONS, env.ELASTIC_INDEX_RESOURCES]; + + const searchQuery = query ? { multi_match: { @@ -195,23 +211,22 @@ export class SearchService { 'author', 'description', 'link', - 'fileFormats', 'educational_stages', 'languages', 'subjects', 'license', 'object_type', - 'state', 'user', + 'username', 'roles', 'institution', 'city', - 'views', - 'downloads', - 'likes', - 'shares', - 'score', - 'comments', + // 'views', + // 'downloads', + // 'likes', + // 'shares', + // 'score', + // 'comments', 'created_at' ], }, @@ -221,7 +236,7 @@ export class SearchService { } const result = await this.esClient.search({ - index: index, + index: indexesToUse, body: { from: offset, size: page_size, -- GitLab