From 0b10b08956b71ac25904b8a8ec6220097511e995 Mon Sep 17 00:00:00 2001 From: yrchoi Date: Thu, 1 May 2025 22:33:03 +0900 Subject: [PATCH 1/2] =?UTF-8?q?fix(search):=20=EA=B0=80=EA=B2=8C=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=83=9D=EC=84=B1=20=EC=8B=9C=20?= =?UTF-8?q?=EC=9D=B8=EB=8D=B1=EC=8A=A4=20=ED=82=A4=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20#260?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +++ .../domain/store/service/StoreSearchService.java | 11 ++++------- .../tablenow/domain/store/util/StoreKeyGenerator.java | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index b05abb7e..1d90d6cb 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,6 @@ out/ ### logstash logs/ /src/main/resources/logback-spring.xml + +### copilot +/copilot/* \ No newline at end of file diff --git a/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java b/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java index 34af57fc..ab6fd7d7 100644 --- a/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java +++ b/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java @@ -68,7 +68,6 @@ public PageResponse getStoresV3(AuthUser authUser, int public void evictSearchCacheForNewStore(StoreDocument storeDocument) { Set keysToDelete = new HashSet<>(); keysToDelete.addAll(scanKeysByKeywordTokens(storeDocument.getName())); - keysToDelete.addAll(scanKeysByCategoryId(storeDocument.getCategoryId())); if (!keysToDelete.isEmpty()) { stringRedisTemplate.delete(keysToDelete); @@ -138,19 +137,17 @@ private Set scanKeysByKeywordTokens(String storeName) { Set keys = new HashSet<>(); Set tokens = storeTextAnalyzerService.analyzeText(STORE_INDEX, STORE_ANALYZER, storeName); + String emptyKeyword = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "keyword", ""); + keys.add(emptyKeyword); + for (String token : tokens) { - String pattern = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "keyword", token); + String pattern = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "keyword", token + "*"); keys.addAll(scanKeys(pattern)); } return keys; } - private Set scanKeysByCategoryId(Long categoryId) { - String pattern = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "categoryId", String.valueOf(categoryId)); - return scanKeys(pattern); - } - private Set scanKeys(String pattern) { Set keys = new HashSet<>(); ScanOptions options = ScanOptions.scanOptions().match(pattern).count(500).build(); diff --git a/src/main/java/org/example/tablenow/domain/store/util/StoreKeyGenerator.java b/src/main/java/org/example/tablenow/domain/store/util/StoreKeyGenerator.java index cd12b4c2..2716f580 100644 --- a/src/main/java/org/example/tablenow/domain/store/util/StoreKeyGenerator.java +++ b/src/main/java/org/example/tablenow/domain/store/util/StoreKeyGenerator.java @@ -19,7 +19,7 @@ public static String generateStoreListKey(int page, int size, String sort, Strin } public static String generateStoreKeyByPattern(String header, String parameter, String keyword) { - String key = String.format("*%s*%s=%s*", header, parameter, keyword); + String key = String.format("*%s*%s=%s", header, parameter, keyword); log.info("[Radis 패턴 생성] {}", key); return key; } From 39dad24fff280f744a99296b96c037f1c4be0f74 Mon Sep 17 00:00:00 2001 From: yrchoi Date: Thu, 1 May 2025 23:20:41 +0900 Subject: [PATCH 2/2] =?UTF-8?q?fix(search):=20=EA=B0=80=EA=B2=8C=20?= =?UTF-8?q?=EB=8D=B0=EC=9D=B4=ED=84=B0=20=EC=83=9D=EC=84=B1=20=EC=8B=9C=20?= =?UTF-8?q?=EC=9D=B8=EB=8D=B1=EC=8A=A4=20=ED=82=A4=20=EC=82=AD=EC=A0=9C=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20#260?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tablenow/domain/store/service/StoreSearchService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java b/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java index ab6fd7d7..f551bf12 100644 --- a/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java +++ b/src/main/java/org/example/tablenow/domain/store/service/StoreSearchService.java @@ -138,10 +138,10 @@ private Set scanKeysByKeywordTokens(String storeName) { Set tokens = storeTextAnalyzerService.analyzeText(STORE_INDEX, STORE_ANALYZER, storeName); String emptyKeyword = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "keyword", ""); - keys.add(emptyKeyword); + keys.addAll(scanKeys(emptyKeyword)); for (String token : tokens) { - String pattern = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "keyword", token + "*"); + String pattern = StoreKeyGenerator.generateStoreKeyByPattern(STORE_SEARCH_KEY, "keyword", "*" + token + "*"); keys.addAll(scanKeys(pattern)); }