【问题标题】:Couchbase: search by multiple string keysCouchbase:通过多个字符串键搜索
【发布时间】:2016-08-11 19:24:38
【问题描述】:

有没有办法通过 Couchbase 中的多个 string 键进行搜索?

例如我有一个索引:

emit(['example', doc.field1, doc.field2], doc.id);

field1field2都是字符串变量。

我不能使用 startkeyendkey 因为复合数组索引键仍被视为字符串。所以我有像this 这样的问题。但我也有字符串键。所以我不能使用Spatial Views

除了为键的每个部分找到多个结果集,然后找到它们的交集之外,还有其他解决方案吗?

【问题讨论】:

  • 您能否澄清一下您所说的:“不能使用 startkey 和 endkey,因为复合数组索引键仍被视为字符串”?
  • 我的意思是使用复合键进行部分选择 (docs.couchbase.com/couchbase-manual-2.1/…): >> 这种结构的一个限制是不能忽略早期的数组值。

标签: string search couchbase composite-primary-key


【解决方案1】:

如果您仅限于使用视图,那么正如您已经发现的那样,无法按独立字段进行过滤。

如果您正在使用(或可以升级到)Couchbase 4.x,那么您可以使用简单的 N1QL 查询来做到这一点:

SELECT * FROM bucket WHERE field1 = 'bla' AND field2 ='blabla'

一定要在这两个字段上创建索引:

CREATE INDEX ix_field1 ON bucket(field1)

【讨论】:

  • 不幸的是,我们使用的是 Couchbase 2.x。所以我通过附加索引解决了它。
  • 索引应该同时包含field1和field2。
猜你喜欢
  • 2021-12-23
  • 1970-01-01
  • 2014-02-18
  • 2017-12-01
  • 2010-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多