Cloudant搜索索引查询限制

时间:2013-06-25 23:19:33

标签: cloudant

为什么搜索索引查询的结果限制为200行,而标准视图查询似乎没有限制?

2 个答案:

答案 0 :(得分:7)

基本上是因为我们在内存中保存了200个项目数组,因为我们在所有匹配中流式传输,保留前200个得分命中。标准视图仅在起点和终点之间流式传输所有行。搜索的目的通常是在大海捞针中找到针头,因此通常不会获取数千个结果(与谷歌相比,点击进入第500页?)。如果找不到所需内容,则可以优化搜索并再次查看。

在某些情况下,检索所有匹配是有意义的(我们可以按照找到它们的顺序对其进行流式传输,因此没有RAM问题)。这是我们可以(并且应该)添加的功能,但目前无法使用。

答案 1 :(得分:4)

值得注意的是,由于磁盘上结果的排序,_view API(又名“mapreduce”)与搜索根本不同。物化视图保存在CouchDB b +树中,因此它们基本上按键排序。这允许有效的范围查询(开始/结束键),并使限制/分页变得微不足道。但是,这也意味着您必须在磁盘上排序视图行,这限制了您可以对物化视图执行的布尔查询的类型。这就是搜索有用的地方,但Bob(又名“The Lucene Expert”)注意到了局限性。