我想在 vespa查询(不是文档属性)中包含map并在 中查找它,但我有一些问题。expression
- 我可以
map
在 Vespa查询中使用吗? - 如果可能,如何在 中查找元素
expression
? - 如果不可能,我可以改用
mapped tensor
type 吗?
要将稀疏值传递给单独访问它们的排名表达式(例如 XGBoost 或其他 GBTD 模型),请将它们作为单独的查询特征传递:query(mykey) 等。
在 HTTP 请求中:
ranking.features.query(mykey)=30.3
或者在 Java 代码中(在搜索器中):
query.getRanking().getFeatures().put("query(mykey", String.valueOf(30.3));
您可能还想为模型中使用的每个查询功能分配一个默认值。请参阅https://docs.vespa.ai/documentation/ranking.html#using-query-variables
(如果您的模型作为一个整体在地图上计算,例如通过将其与文档地图连接,您将使用映射张量查询功能而不是许多标量查询功能。)
这里有关于如何使用 sameElement 查询运算符搜索地图字段的示例https://docs.vespa.ai/documentation/reference/query-language-reference.html#sameelement但如果我理解正确,您希望将地图传递为查询运算符?如果是这样,如果您想将其用于召回(哪些文档匹配或纯粹作为配置的排名表达式中排名的输入?如果是后者,您可以使用张量,但张量不能用于召回/搜索。