CouchBase范围搜索

时间:2012-05-10 22:10:23

标签: search nosql couchbase

我正在考虑将CouchBase用于非常重读和重写的应用程序。我还需要支持基于文档的不同属性以及范围查询进行搜索。

CouchBase具有允许搜索超出键值搜索的视图,但似乎这主要是为了获取某个范围内的文档,例如。获取在两个指定键之间索引的所有文档,而不是“将所有具有genre属性的文档提供给'adventure'”或“给我所有创建日期在1/1/1和2/1/1之间的文档”< / p>

有没有办法在没有外部索引的情况下实现我想要的东西?

1 个答案:

答案 0 :(得分:3)

你绝对可以同时做你在那里描述的内容。您可以使用Couchbase Server 2.0中的视图执行这两项操作。

例如,需要搜索日期范围时的常用技术是从视图中的地图函数发出JSON数组。这会给你一些类似的东西: [2012,5,11,16,27,41]

因为当您查询视图时,JSON数组是开始键和结束键的有效位置,您可以指定该范围。

同样,使用doc _id从map函数中提取您发出的每个属性。然后使用其中一个Couchbase SDKs,您可以在查询时设置包含文档选项,并自动提取文档。