使用 Couchbase 服务器 3.0 和端口 8092 查找相似名称
Find similar names using Couchbase server 3.0 and port 8092
我想使用 couchbase 服务器查找相似的位置名称。我创建了一个索引如下
function (doc, meta) {
emit(doc.loc_name, doc);
}
这就是我查询数据的方式
http://IP Address:8092/dev-locations/_design/dev_test_view/_view/searchByLocationName?full_set=true&inclusive_end=true&stale=false&connection_timeout=60000&key=%22Joh%22
但是只有在找到完全匹配的情况下才会 return。我正在寻找的是当我发送密钥 joh
时,它应该 return johenaskirchen
和 johenasberg
(与我们在 MySQL 中的 LIKE 相同)
任何帮助将不胜感激。
注意:我已经尝试过 N1QL,我正在寻找无需 N1QL 即可实现此功能的方法
key
参数完全匹配。你想要的是 startKey
和 endKey
:
的组合
?startkey=%22joh%22&endkey=%22joh\uefff%22
\uefff
是一个技巧,这个 unicode 字符可以看作 "the biggest character" 所以它确保像 johzzzzzz
这样的键仍然会被认为在 [= 的上限之下16=](endkey
包括)。
我想使用 couchbase 服务器查找相似的位置名称。我创建了一个索引如下
function (doc, meta) {
emit(doc.loc_name, doc);
}
这就是我查询数据的方式
http://IP Address:8092/dev-locations/_design/dev_test_view/_view/searchByLocationName?full_set=true&inclusive_end=true&stale=false&connection_timeout=60000&key=%22Joh%22
但是只有在找到完全匹配的情况下才会 return。我正在寻找的是当我发送密钥 joh
时,它应该 return johenaskirchen
和 johenasberg
(与我们在 MySQL 中的 LIKE 相同)
任何帮助将不胜感激。
注意:我已经尝试过 N1QL,我正在寻找无需 N1QL 即可实现此功能的方法
key
参数完全匹配。你想要的是 startKey
和 endKey
:
?startkey=%22joh%22&endkey=%22joh\uefff%22
\uefff
是一个技巧,这个 unicode 字符可以看作 "the biggest character" 所以它确保像 johzzzzzz
这样的键仍然会被认为在 [= 的上限之下16=](endkey
包括)。