Vespa - Proton:自定义分桶和查询
Vespa - Proton: Custom bucketing & Query
参考文献:
id 方案
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
可以通过使用文档 ID 格式的 32 LSB(n / g 选择)在用户定义的存储逻辑中构建数据。
但是,关于如何根据预先做出的决定将查询路由到特定的桶范围,查询逻辑不是很清楚。
例如,如果我可以定义压缩范围的 n(数字),则可以将数据拆分为时间范围 (start-time/end-time)。所有标记为此类的文档最终都会在同一个存储桶中(这将按照配置的文档数量/大小进行拆分)。
但是,我该如何针对以这种方式编制索引的数据编写搜索查询?
是否可以指示处理器选择特定的存储桶或存储桶范围(以防分配算法可能移动了存储桶)?
您可以通过指定 streaming.groupname
查询 属性.
在查询中选择一个存储桶
要么在http请求中加入
&streaming.groupname=[group]
或在
的搜索器中
query.properties().set("streaming.groupname","[group]").
如果您想要多个存储桶,请改用参数 streaming.selection
,它接受任何 文档选择 表达式:http://docs.vespa.ai/documentation/reference/document-select-language.html
要指定例如两个桶,请使用 set streaming.selection
(在 HTTP 请求或搜索器中)到
id.group=="[group1]" and id.group=="[group2]"
见http://docs.vespa.ai/documentation/streaming-search.html
请注意,只有在每个查询只需要搜索一个或几个桶时才应使用流式搜索。它避免了构建反向索引,这在这种特殊情况下(仅)更便宜。
此处描述了 &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
参考文献:
id 方案
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
可以通过使用文档 ID 格式的 32 LSB(n / g 选择)在用户定义的存储逻辑中构建数据。
但是,关于如何根据预先做出的决定将查询路由到特定的桶范围,查询逻辑不是很清楚。
例如,如果我可以定义压缩范围的 n(数字),则可以将数据拆分为时间范围 (start-time/end-time)。所有标记为此类的文档最终都会在同一个存储桶中(这将按照配置的文档数量/大小进行拆分)。
但是,我该如何针对以这种方式编制索引的数据编写搜索查询? 是否可以指示处理器选择特定的存储桶或存储桶范围(以防分配算法可能移动了存储桶)?
您可以通过指定 streaming.groupname
查询 属性.
要么在http请求中加入
&streaming.groupname=[group]
或在
的搜索器中query.properties().set("streaming.groupname","[group]").
如果您想要多个存储桶,请改用参数 streaming.selection
,它接受任何 文档选择 表达式:http://docs.vespa.ai/documentation/reference/document-select-language.html
要指定例如两个桶,请使用 set streaming.selection
(在 HTTP 请求或搜索器中)到
id.group=="[group1]" and id.group=="[group2]"
见http://docs.vespa.ai/documentation/streaming-search.html
请注意,只有在每个查询只需要搜索一个或几个桶时才应使用流式搜索。它避免了构建反向索引,这在这种特殊情况下(仅)更便宜。
此处描述了 &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