【发布时间】:2018-10-22 21:14:59
【问题描述】:
我在我的应用程序中使用 Couchbase Lite 2.0.0,并尝试对包含给定短语的术语进行不区分大小写的字符串搜索,例如如果值为hello, world!,则短语o, w 应该返回它,但ow 不应该。
根据couchbase docs 应该可以通过LIKE 运算符和通配符匹配来实现这一点:
请注意,由于 like 进行不区分大小写的匹配,因此以下查询将返回名称与“皇家工程师博物馆”、“皇家工程师博物馆”、“皇家工程师博物馆”等名称匹配的“地标”类型文档。
所以我的代码是;
...
.Where(Expression.Property(myPropertyName).Like(Expression.String($"%{phrase}%"));
...
这按预期工作除了它仍然区分大小写。
我尝试过使用.Collate(Collation.ASCII().IgnoreCase(true)
我也尝试在(?i) 模式下使用 REGEX 运算符,但这引起了恐慌。
我正在考虑使用全文搜索功能,但对于这种简单的情况,这可能是矫枉过正。
这是一个错误还是我遗漏了什么?
【问题讨论】:
标签: c# couchbase sql-like case-insensitive couchbase-lite