From a3960489d4f27af698facd501a295419bb792fb2 Mon Sep 17 00:00:00 2001 From: caadiq Date: Sat, 10 Jan 2026 19:06:49 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Meilisearch=20=EA=B2=80=EC=83=89=20?= =?UTF-8?q?=EC=9C=A0=EC=82=AC=EB=8F=84=20=ED=95=84=ED=84=B0=EB=A7=81=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 유사도 0.5 미만인 검색 결과 필터링 - showRankingScore 활성화하여 점수 기반 필터링 적용 --- backend/services/meilisearch.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/services/meilisearch.js b/backend/services/meilisearch.js index 482329d..4ba110b 100644 --- a/backend/services/meilisearch.js +++ b/backend/services/meilisearch.js @@ -121,6 +121,7 @@ export async function searchSchedules(query, options = {}) { limit: options.limit || 1000, // 기본 1000개 (Meilisearch 최대) offset: options.offset || 0, // 페이징용 offset attributesToRetrieve: ["*"], + showRankingScore: true, // 유사도 점수 포함 }; // 카테고리 필터 @@ -135,10 +136,13 @@ export async function searchSchedules(query, options = {}) { const results = await index.search(query, searchOptions); + // 유사도 0.5 미만인 결과 필터링 + const filteredHits = results.hits.filter((hit) => hit._rankingScore >= 0.5); + // 페이징 정보 포함 반환 return { - hits: results.hits, - total: results.estimatedTotalHits, // 전체 결과 수 + hits: filteredHits, + total: filteredHits.length, // 필터링 후 결과 수 offset: searchOptions.offset, limit: searchOptions.limit, };