使用benchbase 5.1.1 和Java客户端 2.6.1 。
在数据库上,我有一个名称为 config 的存储桶,并且有一个文档:
[
{
"section": "MAIL",
"id": "aaa.1.0.0.MAIL",
"version": "1.0.0",
"values": {
"mail" : "test1@test1.com"
}
}
]
现在,我想在字段上使用常规表达式查找文档:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp(regexp).field("sectrion"));
如果我用小写字母写单词,例如: mail ,一切都很好,我可以重新阅读文档,但是如果我用大写字母写单词,例如 MAIL ,则完全匹配字段值,我没有answear。您能解释一下我为什么不能使用大写单词进行搜索吗?
编辑:
如果我将MA。*用作正则表达式-则行不通,MA **正在运行。我只想知道为什么当我具有字段值“ section”:“ MAIL” 时为什么不能对正则表达式使用大写。为什么不起作用?但是,如果我输入“邮件”,则表示在正则表达式上为小写,一切都很好...
答案 0 :(得分:0)
作为猜测,如果您使用的是正则表达式,例如:"[a-z]"
,则只能使用小写字符。
假设您的正则表达式为"[a-z]"
,请尝试通过"[A-Za-z]"
对其进行更改,这将适用于大写和小写字母。像这样:
bucket.query(new SearchQuery("configindex", SearchQuery.regexp("[A-Za-z]").field("section"));