1

我想在 vespa查询(不是文档属性)中包含map并在 中查找它,但我有一些问题。expression

  1. 我可以map在 Vespa查询中使用吗?
  2. 如果可能,如何在 中查找元素expression
  3. 如果不可能,我可以改用mapped tensortype 吗?
4

2 回答 2

2

要将稀疏值传递给单独访问它们的排名表达式(例如 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

(如果您的模型作为一个整体在地图上计算,例如通过将其与文档地图连接,您将使用映射张量查询功能而不是许多标量查询功能。)

于 2019-05-08T08:07:17.880 回答
1

这里有关于如何使用 sameElement 查询运算符搜索地图字段的示例https://docs.vespa.ai/documentation/reference/query-language-reference.html#sameelement但如果我理解正确,您希望将地图传递为查询运算符?如果是这样,如果您想将其用于召回(哪些文档匹配或纯粹作为配置的排名表达式中排名的输入?如果是后者,您可以使用张量,但张量不能用于召回/搜索。

于 2019-05-07T09:33:56.143 回答