首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Vespa - Proton:定制的桶形和查询

Vespa - Proton:定制的桶形和查询
EN

Stack Overflow用户
提问于 2017-10-11 06:53:23
回答 2查看 166关注 0票数 3

参考文献:

id方案

代码语言:javascript
复制
Format: id:<namespace>:<document-type>:<key/value-pairs>:<user-specified>

http://docs.vespa.ai/documentation/content/buckets.html
http://docs.vespa.ai/documentation/content/idealstate.html

它可以通过使用32 LSB的文档id格式(n /g选择)来构造用户定义的桶形逻辑中的数据。

但是,查询逻辑对于如何根据预先作出的决定将查询路由到特定的桶范围并不十分清楚。

例如,如果我可以定义压缩范围的n(一个数字),就可以将数据分割成一个时间范围(开始时间/结束时间)。所有这样标记的文档都将在同一个桶中结束(按照配置的文档数量/大小进行拆分)。

但是,如何对以这种方式索引的数据编写搜索查询呢?是否可以指示处理器选择特定的存储桶或存储桶的范围(万一分发算法可能移动了存储桶)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-11 07:32:11

可以通过指定streaming.groupname查询属性在查询中选择一个桶。

在http请求中添加

代码语言:javascript
复制
&streaming.groupname=[group] 

或者是在搜索者里

代码语言:javascript
复制
query.properties().set("streaming.groupname","[group]").

如果您想要多个桶,请使用参数streaming.selection,它接受任何文档选择表达式:http://docs.vespa.ai/documentation/reference/document-select-language.html

要指定两个桶,请使用set streaming.selection (在HTTP或Searcher中)

代码语言:javascript
复制
id.group=="[group1]" and id.group=="[group2]"

请参阅http://docs.vespa.ai/documentation/streaming-search.html

请注意,仅当每个查询只需要搜索一个或几个桶时,才应该使用流搜索。它避免构建反向索引,在这种特殊情况下,这种方法更便宜(仅限于)。

票数 4
EN

Stack Overflow用户

发布于 2017-10-11 08:03:31

&streaming.*参数在这里描述,http://docs.vespa.ai/documentation/reference/search-api-reference.html#streaming.groupname

这仅适用于使用mode=streaming配置的文档类型,对于默认模式(即索引),您无法控制查询路由http://docs.vespa.ai/documentation/reference/services-content.html#document

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46681642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档