mongodb 3.2版本的文本搜索
来源:互联网 发布:如何在淘宝上买岛国片 编辑:程序博客网 时间:2024/05/22 15:32
本来还有一些内容想写的,但是主要是被这玩意给坑了一个早上了,觉得还是直接写出来比较好。
这里只是展示了文本搜索的方式,文本搜索更详细的内容之后会回来再更新这篇文章的。
首先,mongodb支持文本搜索,但是很不幸的消息就是不支持中文我下的是3.2.8,也不支持,默哀
但是这不是最坑的部分,还有比他更坑的,接下来会看到的。
首先使用shell开启文本搜索
db.adminCommand( {setParameter:1, textSearchEnabled:true})接着就是针对字段创建文本索引了,下面先插入几组数据来做例子比较好
data1={'message':'hello world','name':'yang'}data2={'message':'hello world again','name':'qing'}data3={'message':'hello yang','name':'xian'}data4={'message':'hello qing','name':'guo'}db.blog.save(data4)db.blog.save(data3)db.blog.save(data2)db.blog.save(data1)接着就是针对'message'字段创建文本索引了
db.blog.ensureIndex({'message':'text'})注意格式,{'message':'text'}中的'message'表示针对'message'字段创建索引,'text'表示创建的是文本索引
接下来可以使用
db.blog.getIndexes()查看索引信息,如果出现这样的内容,表示索引创建成功了
重点是下面部分,至于'default_language':'french'是不小心被我玩坏了的,默认应该是english,可以在创建索引时指定
db.blog.ensureIndex({message:'text'},{default_language:'french'})接下来就是坑了我一早上的东西了,就是运行了如下命令
提示:no such command 'text'
然后就花了一个早上在搜解决方案,最终还是翻墙出去从谷歌上搜到了结果,text命令在不知道哪个的版本之后就被删除了
现在如果想要使用文本搜索可以使用如下形式
db.blog.find({$text:{$search:'hello'}})可以看到从原来的runCommand()变成了find()函数,而且像$search一样的操作符还有如下这些
{$text:{$search:<String>,$language:<String>,$caseSensitive:<boolean>,$diacriticSensitive:<boolean>}}一个一个来,$search表示搜索的文档内容,$language表示搜索文档时采用的语言,$caseSensitive,顾名思义,大小写敏感,即是否区分大小写,最后一个不用管,是发音。。。。。。。
上面的搜索结果如下
可以看到返回结果是标准的执行find()之后的结果,没有使用runCommand()的那么详细了
0 0
- mongodb 3.2版本的文本搜索
- MongoDB文档翻译-文本搜索
- 基于文本的搜索
- linux的文本搜索
- Ruby操作MongoDB(进阶十)--文本搜索text search
- 搜索包含关键字的文本
- 文本搜索系统的评估
- mongodb 3.2.7版本 的分片集群安装demo
- mongodb 3.2版本基本管理
- 文本搜索
- MongoDB的地理位置搜索GeoSearch使用方法探索
- PHP文本数据库的搜索方法
- linux grep命令,强大的文本搜索
- linux grep命令,强大的文本搜索
- linux grep命令,强大的文本搜索
- Vim的文本搜索和替换
- linux grep命令,强大的文本搜索
- 文本搜索工具grep的常用命令
- C# DateTimePicker相关操作
- BILIBILI 高并发实时弹幕系统那些事(项目开源、架构演变)
- Security 101
- numpy学习
- PhantomJS(webkit)/SlimerJS (Gecko) + CasperJS获取JavaScript渲染后的网页内容
- mongodb 3.2版本的文本搜索
- AVPlayer与AVPlayerViewController的使用
- shell变量之环境变量
- IOS开发之语音合成(科大讯飞)详解
- JFreeChart 柱形图
- php禁止同一账户同时登陆
- Java面向对象三大特征
- Android Tools Attributes,让布局设计所见即所得
- 重载与引用