From 2adca81ca6ff5f64d695df1458545c0c3f1af588 Mon Sep 17 00:00:00 2001 From: Jiwon-Woo Date: Thu, 7 Sep 2023 02:06:43 +0900 Subject: [PATCH 1/3] =?UTF-8?q?fix:=20=EC=9E=90=EB=AA=A8=20=EB=B6=84?= =?UTF-8?q?=ED=95=B4=ED=95=98=EA=B8=B0=20=EC=A0=84=20=ED=8A=B9=EC=88=98?= =?UTF-8?q?=EB=AC=B8=EC=9E=90=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/v1/books/books.service.ts | 3 ++- .../src/v1/search-keywords/searchKeywords.service.ts | 11 ++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/backend/src/v1/books/books.service.ts b/backend/src/v1/books/books.service.ts index 1f1bced8..f733fcd1 100644 --- a/backend/src/v1/books/books.service.ts +++ b/backend/src/v1/books/books.service.ts @@ -167,8 +167,9 @@ export const searchInfo = async ( ) => { const disassemble = query ? disassembleHangul(query) : ''; const initials = query ? extractHangulInitials(query) : ''; - const fullTextSearch = removeSpecialCharacters(disassemble); + const processQuery = query ? removeSpecialCharacters(query) : ''; const likeSearch = disassemble.replaceAll(' ', '%').replaceAll(' ', '%'); + const fullTextSearch = disassembleHangul(processQuery); let matchScore: string; let searchCondition: string; diff --git a/backend/src/v1/search-keywords/searchKeywords.service.ts b/backend/src/v1/search-keywords/searchKeywords.service.ts index 2b688209..1bf4b4e3 100644 --- a/backend/src/v1/search-keywords/searchKeywords.service.ts +++ b/backend/src/v1/search-keywords/searchKeywords.service.ts @@ -164,15 +164,16 @@ export const createSearchKeywordLog = async ( export const getSearchAutocompletePreviewResult = async (keyword: string) => { const LIMIT_OF_SEARCH_KEYWORD_PREVIEW = 12; - let keywordInitials = extractHangulInitials(keyword as string); + const processKeyword = keyword ? removeSpecialCharacters(keyword) : ''; + let disassembledKeyword = extractHangulInitials(keyword as string); let isCho = true; - if (keyword !== keywordInitials) { - keywordInitials = disassembleHangul(keyword as string); + if (keyword !== disassembledKeyword) { + disassembledKeyword = disassembleHangul(keyword as string); isCho = false; } - const fullTextSearch = removeSpecialCharacters(keywordInitials); - const likeSearch = keywordInitials.replaceAll(' ', '%').replaceAll(' ', '%'); + const fullTextSearch = disassembleHangul(processKeyword); + const likeSearch = disassembledKeyword.replaceAll(' ', '%').replaceAll(' ', '%'); let queryResult: AutocompleteKeyword[] = []; let totalCount: number; From edfe29333b5831dce53558dd7c776c54406ebb36 Mon Sep 17 00:00:00 2001 From: Jiwon-Woo Date: Thu, 7 Sep 2023 02:46:37 +0900 Subject: [PATCH 2/3] =?UTF-8?q?refactor:=20=EC=9E=90=EB=AA=A8=20=EB=B6=84?= =?UTF-8?q?=ED=95=B4=ED=95=98=EA=B8=B0=20=EC=A0=84=20=ED=8A=B9=EC=88=98?= =?UTF-8?q?=EB=AC=B8=EC=9E=90=20=EC=A0=9C=EA=B1=B0=20=EB=8C=80=EC=8B=A0=20?= =?UTF-8?q?=EC=A0=95=EA=B7=9C=EC=8B=9D=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/v1/books/books.service.ts | 4 +--- backend/src/v1/search-keywords/searchKeywords.service.ts | 3 +-- backend/src/v1/utils/processKeywords.ts | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/backend/src/v1/books/books.service.ts b/backend/src/v1/books/books.service.ts index f733fcd1..87b5fd33 100644 --- a/backend/src/v1/books/books.service.ts +++ b/backend/src/v1/books/books.service.ts @@ -167,10 +167,8 @@ export const searchInfo = async ( ) => { const disassemble = query ? disassembleHangul(query) : ''; const initials = query ? extractHangulInitials(query) : ''; - const processQuery = query ? removeSpecialCharacters(query) : ''; + const fullTextSearch = removeSpecialCharacters(disassemble); const likeSearch = disassemble.replaceAll(' ', '%').replaceAll(' ', '%'); - const fullTextSearch = disassembleHangul(processQuery); - let matchScore: string; let searchCondition: string; if (!query) { diff --git a/backend/src/v1/search-keywords/searchKeywords.service.ts b/backend/src/v1/search-keywords/searchKeywords.service.ts index 1bf4b4e3..a8489cf8 100644 --- a/backend/src/v1/search-keywords/searchKeywords.service.ts +++ b/backend/src/v1/search-keywords/searchKeywords.service.ts @@ -164,7 +164,6 @@ export const createSearchKeywordLog = async ( export const getSearchAutocompletePreviewResult = async (keyword: string) => { const LIMIT_OF_SEARCH_KEYWORD_PREVIEW = 12; - const processKeyword = keyword ? removeSpecialCharacters(keyword) : ''; let disassembledKeyword = extractHangulInitials(keyword as string); let isCho = true; @@ -172,7 +171,7 @@ export const getSearchAutocompletePreviewResult = async (keyword: string) => { disassembledKeyword = disassembleHangul(keyword as string); isCho = false; } - const fullTextSearch = disassembleHangul(processKeyword); + const fullTextSearch = removeSpecialCharacters(disassembledKeyword); const likeSearch = disassembledKeyword.replaceAll(' ', '%').replaceAll(' ', '%'); let queryResult: AutocompleteKeyword[] = []; diff --git a/backend/src/v1/utils/processKeywords.ts b/backend/src/v1/utils/processKeywords.ts index bda822a9..ce3bfbd5 100644 --- a/backend/src/v1/utils/processKeywords.ts +++ b/backend/src/v1/utils/processKeywords.ts @@ -14,6 +14,6 @@ export const extractHangulInitials = (original: string | undefined) => { }; export const removeSpecialCharacters = (input: string) => { - const regex = /[^a-zA-Z0-9가-힣\s]/g; + const regex = /[^a-zA-Z0-9가-힣ㄱ-ㅎㅏ-ㅣ\s]/g; return input.replace(regex, ''); }; From a9448210c770f0da130b2d7608c541e4b2fe89ac Mon Sep 17 00:00:00 2001 From: Jiwon-Woo Date: Thu, 7 Sep 2023 09:46:30 +0900 Subject: [PATCH 3/3] =?UTF-8?q?fix:=20like=20=EA=B2=80=EC=83=89=20?= =?UTF-8?q?=EC=8B=9C=20=ED=99=91=EB=94=B0=EC=98=B4=ED=91=9C=20=EC=A0=9C?= =?UTF-8?q?=EC=99=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/v1/books/books.service.ts | 3 ++- backend/src/v1/search-keywords/searchKeywords.service.ts | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/src/v1/books/books.service.ts b/backend/src/v1/books/books.service.ts index 87b5fd33..f330b844 100644 --- a/backend/src/v1/books/books.service.ts +++ b/backend/src/v1/books/books.service.ts @@ -168,7 +168,8 @@ export const searchInfo = async ( const disassemble = query ? disassembleHangul(query) : ''; const initials = query ? extractHangulInitials(query) : ''; const fullTextSearch = removeSpecialCharacters(disassemble); - const likeSearch = disassemble.replaceAll(' ', '%').replaceAll(' ', '%'); + const likeSearch = disassemble.replaceAll("'", '').replaceAll(' ', '%'); + let matchScore: string; let searchCondition: string; if (!query) { diff --git a/backend/src/v1/search-keywords/searchKeywords.service.ts b/backend/src/v1/search-keywords/searchKeywords.service.ts index a8489cf8..7426f7d9 100644 --- a/backend/src/v1/search-keywords/searchKeywords.service.ts +++ b/backend/src/v1/search-keywords/searchKeywords.service.ts @@ -172,7 +172,7 @@ export const getSearchAutocompletePreviewResult = async (keyword: string) => { isCho = false; } const fullTextSearch = removeSpecialCharacters(disassembledKeyword); - const likeSearch = disassembledKeyword.replaceAll(' ', '%').replaceAll(' ', '%'); + const likeSearch = disassembledKeyword.replaceAll("'", '').replaceAll(' ', '%'); let queryResult: AutocompleteKeyword[] = []; let totalCount: number;