fix: 移除前端 BOOK/FILTER/ISBN 字段选择项(后端不支持,静默降级为全文搜索)
CI / backend (push) Canceled after 0s
CI / frontend (push) Canceled after 0s

- BOOK/FILTER/ISBN 不在 parser._ALL_FIELD_TAGS 中
- tokenizer 将其降级为普通 WORD,字段约束完全丢失
- 用户选择这些字段时搜索结果被静默降级为全文搜索,造成误导
- 从 _FIELD_LABEL_MAP、_VALID_TAGS、fieldOptions 三处移除
This commit is contained in:
34047007@qq.com
2026-07-27 13:36:28 +08:00
parent 62be0efb59
commit c1e38386f8
@@ -34,7 +34,6 @@ const fieldLabelMap: Record<string, string> = {
DOI: 'DOI', DOI: 'DOI',
LA: 'Language', LA: 'Language',
TW: 'Text Word', TW: 'Text Word',
BOOK: 'Book',
COIS: 'Conflict of Interest Statements', COIS: 'Conflict of Interest Statements',
DCOM: 'Date - Completion', DCOM: 'Date - Completion',
CRDT: 'Date - Create', CRDT: 'Date - Create',
@@ -43,9 +42,7 @@ const fieldLabelMap: Record<string, string> = {
LR: 'Date - Modification', LR: 'Date - Modification',
RN: 'EC/RN Number', RN: 'EC/RN Number',
ED: 'Editor', ED: 'Editor',
FILTER: 'Filter',
GR: 'Grants and Funding', GR: 'Grants and Funding',
ISBN: 'ISBN',
IR: 'Investigator', IR: 'Investigator',
IP: 'Issue', IP: 'Issue',
LID: 'Location ID', LID: 'Location ID',
@@ -66,7 +63,7 @@ interface TransItem {
} }
// 模块级常量的 validTags Set,避免每次 validateQuery 时重新创建 // 模块级常量的 validTags Set,避免每次 validateQuery 时重新创建
const _VALID_TAGS = new Set(['AB', 'AD', 'AU', 'CN', 'FAU', 'AUID', 'LAU', 'BOOK', 'COIS', 'DCOM', 'CRDT', 'EDAT', 'MHDA', 'LR', 'DP', 'DOI', 'RN', 'ED', 'FILTER', 'GR', 'ISBN', 'IR', 'IP', 'TA', 'LA', 'LID', 'MAJR', 'SH', 'MH', 'OT', 'PG', 'PA', 'PMID', 'PT', 'PUBN', 'SI', 'PS', 'NM', 'TW', 'TI', 'TIAB', 'TT', 'VI']) const _VALID_TAGS = new Set(['AB', 'AD', 'AU', 'CN', 'FAU', 'AUID', 'LAU', 'COIS', 'DCOM', 'CRDT', 'EDAT', 'MHDA', 'LR', 'DP', 'DOI', 'RN', 'ED', 'GR', 'IR', 'IP', 'TA', 'LA', 'LID', 'MAJR', 'SH', 'MH', 'OT', 'PG', 'PA', 'PMID', 'PT', 'PUBN', 'SI', 'PS', 'NM', 'TW', 'TI', 'TIAB', 'TT', 'VI'])
function useValidTags() { return _VALID_TAGS } function useValidTags() { return _VALID_TAGS }
const translated = computed(() => { const translated = computed(() => {
@@ -117,7 +114,6 @@ const fieldOptions = [
{ label: 'Author - First [FAU]', value: 'FAU' }, { label: 'Author - First [FAU]', value: 'FAU' },
{ label: 'Author - Identifier [AUID]', value: 'AUID' }, { label: 'Author - Identifier [AUID]', value: 'AUID' },
{ label: 'Author - Last [LAU]', value: 'LAU' }, { label: 'Author - Last [LAU]', value: 'LAU' },
{ label: 'Book [BOOK]', value: 'BOOK' },
{ label: 'Conflict of Interest Statements [COIS]', value: 'COIS' }, { label: 'Conflict of Interest Statements [COIS]', value: 'COIS' },
{ label: 'Date - Completion [DCOM]', value: 'DCOM' }, { label: 'Date - Completion [DCOM]', value: 'DCOM' },
{ label: 'Date - Create [CRDT]', value: 'CRDT' }, { label: 'Date - Create [CRDT]', value: 'CRDT' },
@@ -127,9 +123,7 @@ const fieldOptions = [
{ label: 'Date - Publication [DP]', value: 'DP' }, { label: 'Date - Publication [DP]', value: 'DP' },
{ label: 'EC/RN Number [RN]', value: 'RN' }, { label: 'EC/RN Number [RN]', value: 'RN' },
{ label: 'Editor [ED]', value: 'ED' }, { label: 'Editor [ED]', value: 'ED' },
{ label: 'Filter [FILTER]', value: 'FILTER' },
{ label: 'Grants and Funding [GR]', value: 'GR' }, { label: 'Grants and Funding [GR]', value: 'GR' },
{ label: 'ISBN [ISBN]', value: 'ISBN' },
{ label: 'Investigator [IR]', value: 'IR' }, { label: 'Investigator [IR]', value: 'IR' },
{ label: 'Issue [IP]', value: 'IP' }, { label: 'Issue [IP]', value: 'IP' },
{ label: 'Journal [TA]', value: 'TA' }, { label: 'Journal [TA]', value: 'TA' },