From ba11bc3913557c7df4ee488cc224dd54137aeb38 Mon Sep 17 00:00:00 2001 From: Miyamizu-MitsuhaSang <2510681107@qq.com> Date: Sat, 8 Nov 2025 22:47:43 +0800 Subject: [PATCH] =?UTF-8?q?idiom=E6=90=9C=E7=B4=A2=E9=80=BB=E8=BE=91?= =?UTF-8?q?=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/search_dict/routes.py | 11 +++++++++-- app/api/search_dict/service.py | 5 ++--- app/api/translator.py | 3 +-- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/app/api/search_dict/routes.py b/app/api/search_dict/routes.py index cac7ce8..da4d65b 100644 --- a/app/api/search_dict/routes.py +++ b/app/api/search_dict/routes.py @@ -268,7 +268,7 @@ async def search_idiom_list( ) tasks.append( service.suggest_proverb( - query=query, + query=all_in_kana(query), lang="jp", model=IdiomJp, search_field="search_text", @@ -294,7 +294,6 @@ async def search_idiom_list( query=query, lang="zh", model=IdiomJp, - search_field="search_text", target_field="text", ) ) @@ -308,6 +307,14 @@ async def search_idiom_list( search_field="text", ) ) + tasks.append( + service.suggest_proverb( + query=all_in_kana(mapping_query), + lang="jp", + model=IdiomJp, + search_field="search_text", + ) + ) # --- 3️⃣ 其他语言(默认回退) --- else: diff --git a/app/api/search_dict/service.py b/app/api/search_dict/service.py index 9c21e80..dba0362 100644 --- a/app/api/search_dict/service.py +++ b/app/api/search_dict/service.py @@ -92,9 +92,8 @@ async def suggest_proverb( # ✅ 搜索条件:中文时双字段联合匹配 if lang == "zh": - start_condition = Q(**{f"{chi_exp_field}__istartswith": keyword}) | Q( - **{f"{search_field}__istartswith": keyword}) - contain_condition = Q(**{f"{chi_exp_field}__icontains": keyword}) | Q(**{f"{search_field}__icontains": keyword}) + start_condition = Q(**{f"{chi_exp_field}__istartswith": keyword}) + contain_condition = Q(**{f"{chi_exp_field}__icontains": keyword}) else: start_condition = Q(**{f"{search_field}__istartswith": keyword}) contain_condition = Q(**{f"{search_field}__icontains": keyword}) diff --git a/app/api/translator.py b/app/api/translator.py index 39691a7..1a39af0 100644 --- a/app/api/translator.py +++ b/app/api/translator.py @@ -1,4 +1,3 @@ -import json import random from typing import Tuple, Dict @@ -79,7 +78,7 @@ async def baidu_translation(query: str, from_lang: str, to_lang: str): raise HTTPException(status_code=500, detail=response.json()) data = response.json() - print(json.dumps(data, indent=2, ensure_ascii=False)) + # print(json.dumps(data, indent=2, ensure_ascii=False)) if "trans_result" not in data: raise HTTPException(status_code=500, detail={"error_code": data.get("error_code"), "error_msg": data.get("error_msg")})