java - Couchbase 中不区分大小写的文档 ID 匹配

标签 java database couchbase spring-data-couchbase couchbase-java-api

我在 java spring 项目中使用 com.couchbase.client maven 依赖项。我通过以下方式从代码中获取 couchbase 文档:

JsonDocument document = bucket.get(id); //matches id case sensitively

但是我有一个新要求。我必须根据 id 的不区分大小写的匹配来获取文档。

例如: 假设 couchbase 有一个 ID 为 heLLo_Doc

的文档

当我执行 bucket.get("hello_doc") 时,我希望返回 ID 为 heLLo_Doc 的文档。如果有多个文档具有相同的小写 ID(例如:Hello_DochEllo_doc 等),我需要获取所有这些文档。

couchbase有没有提供什么方法​​可以做到这一点?

最糟糕的做法是搜索所有我不想做的可能性。

最佳答案

如果只是想使用KV引擎,则没有这个功能。但是,您仍然可以将您的 ID 的小写版本添加到您的文档中,并通过 n1ql 使用“LOWER”搜索它 https://docs.couchbase.com/server/5.5/n1ql/n1ql-language-reference/stringfun.html#fn-str-lower .

如果您需要带上 ID 的变体,例如“HelloDoc”,您还可以使用具有一定模糊度的全文搜索: https://blog.couchbase.com/fuzzy-matching/

关于java - Couchbase 中不区分大小写的文档 ID 匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52853035/

相关文章:

java - 字节从文件中读取错误?

php - 尝试在数据库表中发布 $_SESSION['username]

mysql - 如何按时间间隔缓存查询并在时间到期时将它们一起发送?

ElasticSearch Couchbase 复制问题

java - 如何在 POSTMAN 中将字符串列表定义为 POST 方法的 drools 规则

java - Openfire ubuntu 停止工作

couchbase - 如何编写一个嵌套的 couchbase 查询,该查询返回 Spring Data couchbase react 中的对象计数和列表?

c# - Couchbase 错误打开存储桶 - 无法引导

java - 为什么在 JAVA 中不推荐使用默认包?

sql - pgbench 处理大量事务后数据库暂时断开连接