变音符号不区分大小写的搜索环回

米根

有什么方法可以使用不区分大小写的不区分大小写的选项在Loopback + MongoDB上查询结果?

例如,如果我要搜索查询olimpic,并且数据库包含类似以下的单词:

Olímpic
olimpic
Olimpic

然后,将以上所有内容作为结果返回。我尝试了下面列出的多个查询以及其他组合,但是到目前为止没有任何效果。

{"where":{"name.text":{"like":"olimpic","options":"i"}}}
{"where":{"name.text":{"like":"/^olimpic$/i","options":"i"}}}
{"where":{"name.text":{"like":"/.*olimpic.*/i"}}}
{"where":{"name.text":{"regexp":"/.*olimpic.*/i"}}}

任何的想法?

提前致谢!

马库斯·W·马尔伯格

从MongoDB 3.1.7版本开始文本索引应该可以实现您想要的一切有关详细信息,请参见SERVER-19557早期版本不能处理变音符号。

设置文本索引非常容易:只需在要搜索的所有字段上创建索引-每个集合只能有一个文本索引:

db.yourCollection.createIndex(
  {"name.text":"text","foo":"text"},
  {"default_language":"french"}
)

现在,要搜索索引,只需执行以下操作:

db.yourCollection.find(
  { $text: {$search:"Olimpic"} }
)

应该会给您预期的结果。

hth

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章