如何使用"map"数据结构"in a query"
How to use "map" data structure "in a query"
我想在 vespa query(不是文档属性)中包含 map 并在 expression
中查找它,但我有一些问题。
- 我可以在 Vespa query 中使用
map
吗?
- 如果可以,如何查找
expression
中的元素?
- 如果不可能,我可以使用
mapped tensor
类型代替吗?
此处有关于如何使用 sameElement 查询运算符搜索地图字段的示例 https://docs.vespa.ai/documentation/reference/query-language-reference.html#sameelement,但如果我理解正确的话,您想将地图作为查询运算符传递吗?如果是这样,问题是你想用它来召回(哪些文档匹配或纯粹作为配置排名表达式中排名的输入?如果是后者,你可以使用张量,但张量不能用于 recall/search。
要将稀疏值传递给单独访问它们的排名表达式(例如 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
(如果您的模型是在整个地图上计算的,例如通过将其与文档地图结合起来,您将使用映射张量查询功能而不是许多标量查询功能。)
我想在 vespa query(不是文档属性)中包含 map 并在 expression
中查找它,但我有一些问题。
- 我可以在 Vespa query 中使用
map
吗? - 如果可以,如何查找
expression
中的元素? - 如果不可能,我可以使用
mapped tensor
类型代替吗?
此处有关于如何使用 sameElement 查询运算符搜索地图字段的示例 https://docs.vespa.ai/documentation/reference/query-language-reference.html#sameelement,但如果我理解正确的话,您想将地图作为查询运算符传递吗?如果是这样,问题是你想用它来召回(哪些文档匹配或纯粹作为配置排名表达式中排名的输入?如果是后者,你可以使用张量,但张量不能用于 recall/search。
要将稀疏值传递给单独访问它们的排名表达式(例如 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
(如果您的模型是在整个地图上计算的,例如通过将其与文档地图结合起来,您将使用映射张量查询功能而不是许多标量查询功能。)