期待已久的特性,但目前仍然在beta阶段,所以官方建议不要在生产环境使用。也因此需要手动打开这个特性。

在命令行指定

mongod --setParameter textSearchEnabled=true ...

也可以放在配置文件中

setParameter = textSearchEnabled=true

还可以通过命令启动:

db.adminCommand( { setParameter : 1, textSearchEnabled : true } )

如果是用在Replica Set中,则每个结点都必须启用这个配置。

进行以上配置后,可以通过ensureIndex命令来为一个字段配置全文索引,如:

db.reviews.ensureIndex( { comments: "text" } )

关于创建全文索引的详细说明请参考这里。其中有意思的是全文索引除了对单一字段有效外,也可以配置为对文档中的所有文本字段有效:

db.collection.ensureIndex(
{ "$**": "text" },
{ name: "TextIndex" }
)

这条命令会建立一个名为“TextIndex”的对文档中所有文本字段都有效的全文索引。

全文索引只能使用text命令来访问,而不是在查找文档时默认使用。这是beta特性的特殊处理,官方预计将在2.6版本中使它变为常规find语法的一部分。大概会是这个样子:

collection.find({ caption: { $text: "query" }})

但是目前只能使用这样的语法:

t.runCommand( "text", { search : "Australian" } );

注意全文索引是大小写敏感的,这点和Sql Server不太一样,使用时要小心。并且默认只会返回头100条结果,这是由性能问题决定的。

全文索引也会丢掉无意义的冠词、数词,如a, an, the等,但这取决于使用的语言。语言可以在创建全文索引时指定:

db.collection.runCommand( "text", { search: <string>,
filter: <document>,
project: <document>,
limit: <number>,
language: <string> } )

这部分内容可以参考这里

MongoDb 2.4 beta新特性——全文索引的更多相关文章

  1. BizTalk 2013 Beta 新特性介绍

    BizTalk2013 Beta于2012年11月6日发布,下面来介绍一下BizTalk 2013 Beta的新特性. [核心更新功能] 1. 与云服务集成 BizTalk 2013 Server提供 ...

  2. OpenNebula 4.0 Beta 新特性介绍

    http://blog.chinaunix.net/uid-20940095-id-3561376.html 2013年3月26号,OpenNebula社区发布了OpenNebula 4.0 Beta ...

  3. MongoDB 4.2 新特性解读 (转载)

    MongoDB World 2019 上发布新版本 MongoDB 4.2 Beta,包含多项数据库新特性,本文尝试从技术角度解读. Full Text Search MongoDB 4.2 之前,全 ...

  4. MongoDB 4.2新特性:分布式事务、字段级加密、通配符索引、物化视图

    MongoDB 4.2已经发布,我们来看看它增加了哪些新特性?分布式事务?数据库加密?通配符索引? 在2019年MongoDB World大会上,CTO Eliot Horowitz介绍了MongoD ...

  5. MongoDB 3.0 新特性【转】

    本文来自:http://www.open-open.com/lib/view/open1427078982824.html#_label3 更多信息见官网: http://docs.mongodb.o ...

  6. 跨平台的 .NET 运行环境 Mono 3.2 新特性

    Mono 3.2 发布了,对 Mono 3.0 和 2.10 版本的支持不再继续,而且这两个分支也不再提供 bug 修复更新. Mono 3.2 主要新特性: LLVM 更新到 3.2 版本,带来更多 ...

  7. Atitit opencv版本新特性attilax总结

    Atitit opencv版本新特性attilax总结 1.1. :OpenCV 3.0 发布,史上功能最全,速度最快的版1 1.2. 应用领域2 1.3. OPENCV2.4.3改进 2.4.2就有 ...

  8. Swift3新特性汇总

    之前 Apple 在 WWDC 上已将 Swift 3 整合进了 Xcode 8 beta 中,而本月苹果发布了 Swift 3 的正式版.这也是自 2015 年底Apple开源Swift之后,首个发 ...

  9. Visual Studio 2015速递(3)——ASP.NET 新特性

    系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...

随机推荐

  1. MySql中增加一列

    如果想在一个已经建好的表中添加一列,可以用诸如: alter table TABLE_NAME add column NEW_COLUMN_NAME varchar(20) not null; 这条语 ...

  2. eclips中增加对jar包的引用

    http://jingyan.baidu.com/article/ca41422fc76c4a1eae99ed9f.html

  3. 在asp.net 中应用POST传递和接收XML文件以及参数.(转)

    使用POST方式可以向别的页面发送请求,并获取返回结果. 可以从一个页面发送POST到另一个页面,也可以在winform工程中使用HTTPRequest发送POST到一个页面.我们拿ASP.NET的a ...

  4. nyoj 92 图像有用区域

    点击打开链接 图像有用区域 时间限制:3000 ms  |  内存限制:65535 KB 难度:4 描述 "ACKing"同学以前做一个图像处理的项目时,遇到了一个问题,他需要摘取 ...

  5. 问题:未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项。试图加载格式不正确的程序。

    在应用程序池中把对应的高级设置中的启用win32位应用程序改为true即可

  6. Win8系统 Python安装 - 入门

    原文:http://www.blogbus.com/hx1987-logs/271955446.html 安装python (1)下载python安装包,下载网站https://www.python. ...

  7. 接口自动化的根基--HTTP协议

    点击标题下「蓝色微信名」可快速关注 坚持的是分享,搬运的是知识,图的是大家的进步,没有收费的培训,没有虚度的吹水,喜欢就关注.转发(免费帮助更多伙伴)等来交流,想了解的知识请留言,给你带来更多价值,是 ...

  8. 【转载】linux环境下tcpdump源代码分析

    linux环境下tcpdump源代码分析 原文时间 2013-10-11 13:13:02  CSDN博客 原文链接  http://blog.csdn.net/han_dawei/article/d ...

  9. 挣值管理(EVT)

    如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 第二个大计算,根据PV.EV.AC计算出CV.SV.SPI.CPI.ETC.EAC. ...

  10. Centos安装arm-linux-gcc等交叉工具链

    1.安装(仅以其中一个为例) 1.1 下载arm-linux-gcc (搜一下,很多的!) 1.2 解压:指定解压到根目录 tar xvzf arm-linux-gcc-4.4.3.tar.gz -C ...