MongoDB 中文的全文索引

MongoDB 从3.2 版本以后添加了对中文索引的支持: 官网链接:https://docs.mongodb.com/manual/reference/text-search-languages/ 下面就举例来看一下MongoDB 的中文索引是怎么样的? 创建一个集合textIndexTest: 插入下面四条数据:

db.textIndexTest.insert({author:"杜甫",title:"绝句",article:"两个黄鹂鸣翠柳,   一行白鹭上青天。窗含西岭千秋雪,门泊东吴万里船。"})
db.textIndexTest.insert({author:"李白",title:"静夜思",article:"床前明月光,疑是地上霜。 举头望明月,低头思故乡。"})
db.textIndexTest.insert({author:"张 王",title:"你好",article:"测试数据"})
db.textIndexTest.insert({author:"李贺",title:"李凭箜篌引",article:"吴丝蜀桐张高秋,空山凝云颓不流。 江娥啼竹素女愁,李凭中国弹箜篌。 昆山玉碎凤凰叫,芙蓉泣露香兰笑。 十二门前融冷光,二十三丝动紫皇。 女娲炼石补天处,石破天惊逗秋雨。 梦入神山教神妪,老鱼跳波瘦蛟舞。 吴质不眠倚桂树,露脚斜飞湿寒兔。"})```

对textIndexTest 的作者创建索引:

db.textIndexTest.createIndex( { author: "text", description: "text" } )

注释:

db.collection.ensureIndex(keys, options) 这个语句在3.0被废弃掉, db.collection.ensureIndex() 现在是db.collection.createIndex()的一个别名 都是创建一个索引 如果索引不存在。

查看一下索引

db.textIndexTest.getIndexes()

接下来用索引搜索: 搜索李白的db.textIndexTest.find({text:{text:{text:{search:”李白”}}) 果: { “_id” : ObjectId(“5ae13997ae983fb3f92c9f5b”), “author” : “李白”, “title” : “静夜思”, “article” : “床前明月光,疑是地上霜。 举头望明月,低头思故乡。” } 单搜李白的“李”字

db.textIndexTest.find({$text:{$search:"李"}}) 

运行无结果。 单搜一个“王”字

db.textIndexTest.find({$text:{$search:"王"}}) 

出来了: { “_id” : ObjectId(“5ae14037ae983fb3f92c9f5d”), “author” : “张 王”, “title” : “你好”, “article” : “测试数据” } 不难看出: MongoDB中文全文索引建立方式与英文的简历几乎相同 是根据词(英文单词)的方式建立的。 如果一个值里面有多个值 则需要按空格方式隔开,”张 王” 系统则认为是两个词。 感觉MongodB的中文全文索引沒有想象中的强大。想要实现中文模糊搜素 可以用elasticsearch或者Sphinx,或者lucene

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=kd7kywpysntp

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ACM小冰成长之路

51Nod-1232-完美数

ACM模版 描述 ? 题解 这里要求数的值整除以所有位的值,除 0 以外,所以也就很容易想到,这个数一定是要整除这些位数的最小公倍数,而这些数范围是 1∼9 ,...

20780
来自专栏黑白安全

ctf工具包 ctf Toolkit 渗透测试工具包 隐秘数据破解

│ ├── caidao-20160620-www.maicaidao.com.7z

1.3K20
来自专栏用户2442861的专栏

Android游戏开发十日通(6)- 太空大战

http://blog.csdn.net/silangquan/article/details/16921035

14720
来自专栏hotqin888的专栏

MeritMS+jQuery.Gantt价值管理系统增加项目进度展示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hotqin888/article/det...

34610
来自专栏黑白安全

来做个Google Hack吗?

storemanager/contents/item.php?page_code=

79060
来自专栏PPV课数据科学社区

【学习】七天搞定SAS(一):数据的导入、数据结构

SAS的数据类型 ? 首先,sas的编程大概就两块:Data和PROC,这个倒是蛮清晰的划分。然后目前关注data部分。 SAS的数据类型还真的只有两种:数字和...

429120
来自专栏星流全栈

Bulma — 基于Flexbox的CSS框架

19060
来自专栏高性能服务器开发

(三) 服务器端的程序架构介绍2

下面我们以pc端登录为例来具体看一个数据包在服务器端各个服务之间走过的流程: 步骤1:login_server初始化侦听socket,设置新连接到来的回调函数。...

43550
来自专栏飞扬的花生

表单样式简单设计

  虽然作为后端程序员,简单的CSS样式还是要会滴,备份下 1.直接贴代码吧: @{ ViewBag.Title = "Index"; Layo...

26360
来自专栏Alan's Lab

[From Nand to Tetris] 第8章 虚拟机项目 python 实现

为防闲逛至此的看官不知所云: From Nand to Tetris 是一个在线课程,目标是指导学生从 Nand 逻辑门开始从头到尾完成一整套计算机系统。

9820

扫码关注云+社区

领取腾讯云代金券