You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vespa的YQL userInput()生效所需的最低配置是什么?

Vespa YQL userInput() 生效的最低配置方案

当前你的wpsolr_title字段仅配置了基础的索引和摘要存储,默认采用精确匹配逻辑,因此用userInput("product")查不到含"product 1"的文档。要实现全文检索匹配,需添加以下最低配置:

1. 给字段配置分词器

修改字段定义,添加分词器配置,让字段内容被拆分为词项而非精确匹配:

field wpsolr_title type string {
  indexing: summary | index
  analyzer: simple  # 简单分词:按非字母数字分割、转小写
}

如果需要针对英文优化(比如去除停用词、词干提取),可以自定义分词器:

# 自定义英文分词器
analyzer english {
  tokenizer: unicode
  filter: lowercase
  filter: stopwords
  filter: porterstem
}

field wpsolr_title type string {
  indexing: summary | index
  analyzer: english
}

2. 确保userInput关联目标字段

有两种方式让userInput知道要搜索哪个字段:

方式一:查询时指定目标字段

修改YQL查询语句,明确指定搜索wpsolr_title:

{"userQuery":"product","yql":"select * from wpsolr1 where userInput(@userQuery, {target: \"wpsolr_title\"})"}

方式二:配置默认字段集

在schema中添加默认字段集,让userInput默认搜索该字段:

fieldset default {
  fields: wpsolr_title
}

为什么之前无法匹配?

默认情况下,未配置分词器的string字段采用精确匹配,只有当查询词和字段内容完全一致时才会命中。添加分词器后,字段内容会被拆分为独立词项(比如"product 1"拆成"product"和"1"),查询时也会对userQuery做相同分词处理,从而匹配到包含目标词的文档。

内容的提问来源于stack exchange,提问作者WPSOLR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 14:07:13