首页 文章

Couchbase - 慢速检索

提问于
浏览
0

我是Couchbase / AngularJS / Express.js / Node.JS应用程序的开发人员 . 应用程序当前状态是用户测试的开始 . 当用户访问新应用程序时,用户希望从Couchbase检索检索效率 . 用户认为从Couchbase返回的搜索时间太长 . 作为一名经验丰富的SQL程序员和学习N1QL,我的SQL经验告诉我请求是不可行的 .

该过程涉及以下内容:

  • 1700到1800 JSON文档

  • 预期收益为零或某些文件

  • 所有文件都是不可能的(很快就会解释) .

  • 数据必须穿越大西洋,因为数据和应用程序将驻留在英格兰的机器上 .

用户将至少输入三个字符来搜索名称,并期望返回包含输入字符的名称列表 . 请记住,用户输入的字符越多,搜索结果就越精细 . 用户问题是返回需要几秒钟 .

N1QL语句如下所示:

SELECT id,
       name,
       abbr,
       meta(bucket).id meta_id
 FROM bucket
WHERE type = 'store'
  and Upper(name) like Upper('%passedinname%’)
order by name

如果用户输入“ABC”,则N1QL语句将返回商店JSON文档在名称中包含“ABC”的所有JSON文档信息 . 例如,如果我有名为的商店:

  • ABC市场

  • 玛丽的AbC熟食店

两份文件都会返回 . 您可能会注意到,我必须对搜索案例不敏感 . 这是根据用户请求 .

我查看了Couchbase中的选项 . 我相信没有可行的手段来提高检索速度 . 我查看了Couchbase View . 我不知道如何应用我的N1QL语句 . couch.model.js脚本仅允许从视图中检索 . 它不允许输入不是键值的搜索条件 .

我查看了Couchbase Index . 我不知道如何应用我的N1QL语句 . N1QL语句仍然需要在每个商店的JSON文档中搜索'passinname' .

我甚至研究过Couchbase全文搜索 . 我不能使用这个选项 . 该部门制定了一项防止这种做法的政策 .

如果您有可能的解决方案,请随时提出建议 . 我非常感谢所有的建议 .

蒂安东尼

1 回答

相关问题