我想将map包含在vespa 查询中(不是文档属性),并在expression
中查找它,但是我有一些疑问。
map
吗?expression
中查找元素?mapped tensor
类型吗?答案 0 :(得分: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
(如果您的模型是在整个地图上计算得出的,例如,通过将其与文档地图连接在一起,则可以使用映射的张量查询功能代替许多标量查询功能。)
答案 1 :(得分:1)
这里https://docs.vespa.ai/documentation/reference/query-language-reference.html#sameelement上有一些有关如何使用sameElement查询运算符搜索地图字段的示例,但是如果我正确理解您的意思,是否想将地图作为查询运算符传递?如果是这样,那么您是否要使用它进行回忆(哪个文档匹配或仅用作配置排名表达式中排名的输入?)的问题?如果是后者,您可以使用张量,但张量不能用于回忆/搜索。