fix: 第六轮全面搜索审计修复 — 12项

Parser: Title/Abstract大小写匹配、末尾OR空Term保护、tokeniser gap字符恢复、
混合日期范围反转支持
Engine: field标签正则含/、ATM括号剥离、name_zh LIMIT 100、
year_from/ year_to is not null检查
Docs: 更新修复全记录至第六轮
This commit is contained in:
34047007@qq.com
2026-07-27 12:47:09 +08:00
parent 7032accd31
commit 4495ef9e0a
5 changed files with 149 additions and 28 deletions
+9 -4
View File
@@ -377,7 +377,7 @@ function restoreFromQuery() {
if (route.query.sort) sort.value = String(route.query.sort)
if (route.query.year_from) yearFromStr.value = String(route.query.year_from)
if (route.query.year_to) yearToStr.value = String(route.query.year_to)
if (route.query.date_preset && ['1y','5y','10y'].includes(String(route.query.date_preset))) {
if (route.query.date_preset && ['1y','5y','10y','custom'].includes(String(route.query.date_preset))) {
datePreset.value = String(route.query.date_preset)
} else if (route.query.date_from || route.query.date_to) {
datePreset.value = null
@@ -487,8 +487,11 @@ function syncSearchToUrl() {
else if (datePreset.value === '10y') d.setUTCFullYear(d.getUTCFullYear() - 10)
q.date_from = d.toISOString().slice(0, 10)
} else {
if (yearFromStr.value) q.year_from = yearFromStr.value
if (yearToStr.value) q.year_to = yearToStr.value
if (datePreset.value === 'custom') q.date_preset = 'custom'
if (urlDateFrom.value) q.date_from = urlDateFrom.value
else if (yearFromStr.value) q.year_from = yearFromStr.value
if (urlDateTo.value) q.date_to = urlDateTo.value
else if (yearToStr.value) q.year_to = yearToStr.value
}
if (selectedTags.value.length) q.tag = selectedTags.value.join(',')
if (selectedTiers.value.length) q.tier = selectedTiers.value.join(',')
@@ -835,9 +838,11 @@ const specialTags = computed(() => filterOptions.value?.special_tags || {})
<NSelect v-model:value="sort" :options="[
{label:'Best Match',value:'best_match'},
{label:'Most Recent',value:'date'},
{label:'Publication date',value:'pub_date'},
{label:'Most Cited',value:'cited'},
{label:'Relevance',value:'relevance'},
{label:'First author',value:'first_author'},
{label:'Journal',value:'journal'},
{label:'Title',value:'title'},
]" size="tiny" style="width:150px" @update:value="goToPage(1)" />
<span class="toolbar-label">每页:</span>
<NSelect v-model:value="pageSize" :options="[