Vespa:我们可以在嵌套字段上聚合吗?
Vespa: Can we aggregate on nested fields?
在搜索定义中,struct 中的字段不能有 "attribute" 索引。
http://docs.vespa.ai/documentation/reference/search-definitions-reference.html#field_types
此外,默认情况下,struct 和 maps 不是属性。
生成的搜索定义如下所示:
struct nlp {
field token type string {
match: text //can't add indexing here
}
}
field n type nlp {
indexing: summary //can't add attribute here
}
如何添加搜索定义以便我们可以按 "n.token" 分组?是否可以为结构字段添加属性或索引?或者按非 attribute?
字段分组
结构字段类型不能具有属性,如果您想 运行 使用索引搜索进行分组,则该属性是必要的先决条件,请参阅 http://docs.vespa.ai/documentation/reference/search-definitions-reference.html#struct
对于带 mode=index 的结构字段,您真正可以做的唯一一件事就是将它们作为摘要(响应)的一部分。您可以添加一个自定义搜索器,它对结构字段进行聚合,分析前 K 个检索到的命中。参见 http://docs.vespa.ai/documentation/searcher-development.html
使用 mode=streaming,您可以 运行 对结构字段进行分组,更多关于流式处理的信息,请点击此处 http://docs.vespa.ai/documentation/streaming-search.html
还不能发表评论,因此张贴为答案。
@jkb 这相当于我们 运行 在某个不在结构中的字段上进行搜索,返回大量文档,然后在搜索器中合成它们(链接搜索器本质上会做类似的事情)?
文档中的嵌套字段不能被索引和反过来有效搜索是否也正确(我不想使用流式搜索),因此结构必须始终是扁平的以进行索引搜索工作?
在大多数情况下,我可以实现平面结构,但是如果字段具有对象数组,我想在其中搜索此类对象的某些属性呢?
"x" : [
object: { attributes},
object: {attributes}
]
在搜索定义中,struct 中的字段不能有 "attribute" 索引。
http://docs.vespa.ai/documentation/reference/search-definitions-reference.html#field_types
此外,默认情况下,struct 和 maps 不是属性。 生成的搜索定义如下所示:
struct nlp {
field token type string {
match: text //can't add indexing here
}
}
field n type nlp {
indexing: summary //can't add attribute here
}
如何添加搜索定义以便我们可以按 "n.token" 分组?是否可以为结构字段添加属性或索引?或者按非 attribute?
字段分组结构字段类型不能具有属性,如果您想 运行 使用索引搜索进行分组,则该属性是必要的先决条件,请参阅 http://docs.vespa.ai/documentation/reference/search-definitions-reference.html#struct
对于带 mode=index 的结构字段,您真正可以做的唯一一件事就是将它们作为摘要(响应)的一部分。您可以添加一个自定义搜索器,它对结构字段进行聚合,分析前 K 个检索到的命中。参见 http://docs.vespa.ai/documentation/searcher-development.html
使用 mode=streaming,您可以 运行 对结构字段进行分组,更多关于流式处理的信息,请点击此处 http://docs.vespa.ai/documentation/streaming-search.html
还不能发表评论,因此张贴为答案。
@jkb 这相当于我们 运行 在某个不在结构中的字段上进行搜索,返回大量文档,然后在搜索器中合成它们(链接搜索器本质上会做类似的事情)?
文档中的嵌套字段不能被索引和反过来有效搜索是否也正确(我不想使用流式搜索),因此结构必须始终是扁平的以进行索引搜索工作? 在大多数情况下,我可以实现平面结构,但是如果字段具有对象数组,我想在其中搜索此类对象的某些属性呢?
"x" : [
object: { attributes},
object: {attributes}
]