From 0a1dc1724c89a6ec6cb8e3aaefed15c769129cab Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:55:04 +0800 Subject: [PATCH 1/2] chore(deps): add jieba~=0.42.1 for tokenization --- requirements.in | 1 + 1 file changed, 1 insertion(+) diff --git a/requirements.in b/requirements.in index 42695a47..8a44676b 100644 --- a/requirements.in +++ b/requirements.in @@ -63,3 +63,4 @@ p115client==0.0.3.8.3.3 python-cookietools==0.0.2.1 aligo~=6.2.4 aiofiles~=24.1.0 +jieba~=0.42.1 \ No newline at end of file From d02bf33345ed952c0cf2abc3e43b707327e42ca3 Mon Sep 17 00:00:00 2001 From: InfinityPacer <160988576+InfinityPacer@users.noreply.github.com> Date: Thu, 26 Dec 2024 13:56:08 +0800 Subject: [PATCH 2/2] feat(config): add TOKENIZED_SEARCH --- app/api/endpoints/history.py | 5 +++++ app/core/config.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/app/api/endpoints/history.py b/app/api/endpoints/history.py index 5563b3de..8b297172 100644 --- a/app/api/endpoints/history.py +++ b/app/api/endpoints/history.py @@ -1,10 +1,12 @@ from typing import List, Any +import jieba from fastapi import APIRouter, Depends from sqlalchemy.orm import Session from app import schemas from app.chain.storage import StorageChain +from app.core.config import settings from app.core.event import eventmanager from app.core.security import verify_token from app.db import get_db @@ -57,6 +59,9 @@ def transfer_history(title: str = None, status = True if title: + if settings.TOKENIZED_SEARCH: + words = jieba.cut(title, HMM=False) + title = "%".join(words) total = TransferHistory.count_by_title(db, title=title, status=status) result = TransferHistory.list_by_title(db, title=title, page=page, count=count, status=status) diff --git a/app/core/config.py b/app/core/config.py index 9d04c6af..66e5d2dd 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -240,6 +240,8 @@ class ConfigModel(BaseModel): RENAME_FORMAT_S0_NAMES: List[str] = Field( default_factory=lambda: ["Specials", "SPs"] ) + # 启用分词搜索 + TOKENIZED_SEARCH: bool = False class Settings(BaseSettings, ConfigModel):