如何利用MongoDB正则表达式高效匹配长尾关键词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1578个文字,预计阅读时间需要7分钟。
正则表达式常用于在所有语言中搜索字符串的任何模式或文字。MongoDB还提供了正则表达式功能的字符串模式,使用$regex操作符。MongoDB使用PCRE(Perl兼容正则表达式)作为其正则表达式引擎。
正则表达式常用来在所有语言中搜索字符串的任何模式或文字。MongoDB还提供了正则表达式功能的字符串模式使用正则表达式$regex操作符。MongoDB使用PCRE(Perl兼容正则表达式)为正则表达式语言。
不同于文本搜索,我们不需要做任何配置或命令就能直接使用正则表达式。
考虑下包含文字后其标签的帖子集合,文档结构如以下:
{ "post_text": "enjoy the mongodb articles on yiibai", "tags": [ "mongodb", "yiibai" ] }
使用正则表达式表达
下面的正则表达式查询搜索所有包含字符串 yiibai.com 的帖子:
复制代码 代码如下:
>db.posts.find({post_text:{$regex:"yiibai.com"}})
同样的查询也可以写为:
>db.posts.find({post_text:/yiibai.com/})
使用正则表达式不区分大小写
为了使搜索不区分大小写,我们使用$options 带有值参数 $i。
本文共计1578个文字,预计阅读时间需要7分钟。
正则表达式常用于在所有语言中搜索字符串的任何模式或文字。MongoDB还提供了正则表达式功能的字符串模式,使用$regex操作符。MongoDB使用PCRE(Perl兼容正则表达式)作为其正则表达式引擎。
正则表达式常用来在所有语言中搜索字符串的任何模式或文字。MongoDB还提供了正则表达式功能的字符串模式使用正则表达式$regex操作符。MongoDB使用PCRE(Perl兼容正则表达式)为正则表达式语言。
不同于文本搜索,我们不需要做任何配置或命令就能直接使用正则表达式。
考虑下包含文字后其标签的帖子集合,文档结构如以下:
{ "post_text": "enjoy the mongodb articles on yiibai", "tags": [ "mongodb", "yiibai" ] }
使用正则表达式表达
下面的正则表达式查询搜索所有包含字符串 yiibai.com 的帖子:
复制代码 代码如下:
>db.posts.find({post_text:{$regex:"yiibai.com"}})
同样的查询也可以写为:
>db.posts.find({post_text:/yiibai.com/})
使用正则表达式不区分大小写
为了使搜索不区分大小写,我们使用$options 带有值参数 $i。

