From 8bb0ff2cd0276883817600661b54af783d2f4eae Mon Sep 17 00:00:00 2001 From: "34047007@qq.com" <34047007@qq.com> Date: Mon, 27 Jul 2026 14:52:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20D4=20=E7=BB=9F=E4=B8=80=20MEDLINE=20?= =?UTF-8?q?=E7=AD=9B=E9=80=89=E4=B8=8E=E8=AE=A1=E6=95=B0=E6=9D=A5=E6=BA=90?= =?UTF-8?q?=20=E2=80=94=20=E6=94=B9=E7=94=A8=20journal.nlm=5Fsubsets?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 之前:medline_only 用 citation_status='MEDLINE'(文章级) 筛选面板计数用 journal.nlm_subsets @> ARRAY['M'](期刊级) 两者不一致 → in-process 文章计入面板但筛不到 现在:统一使用 journal.nlm_subsets 来源,与 nlm_subsets 参数复用相同机制 --- backend/app/services/search_engine.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/backend/app/services/search_engine.py b/backend/app/services/search_engine.py index 50775e8..d36151a 100644 --- a/backend/app/services/search_engine.py +++ b/backend/app/services/search_engine.py @@ -433,9 +433,10 @@ class AdvancedSearchEngine: for ui in set(age_uis) ])) - # MEDLINE only + # MEDLINE only(统一使用 journal.nlm_subsets,与筛选面板计数一致) if medline_only: - conditions.append(GlobalLiterature.citation_status == 'MEDLINE') + _med_subq = select(GlobalJournal.issn).where(GlobalJournal.nlm_subsets.overlap(["M"])) + conditions.append(GlobalLiterature.journal_issn.in_(_med_subq)) # Exclude Preprints if exclude_preprints: