gpt4 book ai didi

views - 如何在couchdb中实现复杂的搜索过滤器?我应该避免临时 View 吗?

转载 作者:行者123 更新时间:2023-12-01 01:27:36 24 4
gpt4 key购买 nike

我想在网格中管理我的用户实体。我想对它们进行排序,并且我想为每一列设置一个搜索过滤器。

我动态生成的临时 View 工作正常:

function(doc){
if(doc.type === 'User' &&
// Dynamic filters: WHERE firstName LIKE '%jim%' AND lastName LIKE '%knopf%'
(doc.firstName.match(/.*?jim.*?/i) &&
doc.lastName.match(/.*?knopf.*?/i)) ) {

// Dynamic sort
emit(doc.lastName, doc);
}
}

但是到处都写着你必须避免临时 View 。有没有更好的办法?我应该在运行时按需保存这些搜索吗?

谢谢

最佳答案

你绝对应该不是 使用临时 View ,因为每次查询它们时都必须重新计算。 (这是一个非常“昂贵”的过程)当您提前知道要搜索的字段时,存储 View 是完美的。 (它构建索引一次,之后才进行增量更改)

但是,您将无法获得“包含”搜索。 (您可以获得完全匹配和“以”开头的匹配,但这不是您的示例显示的内容)如果您需要临时查询,您应该认真考虑 couchdb-lucene .

关于views - 如何在couchdb中实现复杂的搜索过滤器?我应该避免临时 View 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6717323/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com