期待已久的特性,但目前仍然在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. 4.1.1 A - Calendar(简单线性表)(日期查找)(数组应用)

    Description A calendar is a system for measuring time, from hours and minutes, to months and days, a ...

  2. 模拟一下goldengate中断后,重新同步操作

    模拟一下goldengata中断后,重新同步操作:     1.关掉源端抽取进程 GGSCI (20081122-2105) 15> info all Program     Status    ...

  3. How to Resize a Datafile (文档 ID 1029252.6)

    APPLIES TO: Oracle Database - Enterprise Edition - Version 9.2.0.1 and laterInformation in this docu ...

  4. cwRsync 配置文件详解

    GLOBAL PARAMETERS(全局参数) The first parameters in the file (before a [module] header) are the global p ...

  5. Android——Gallery 图片拖动效果

    1.XML文件 <?xml version="1.0" encoding="utf-8"?><Gallery xmlns:android=&q ...

  6. (转)直接拿来用!最火的iOS开源项目(二)

    “每一次的改变总意味着新的开始.”这句话用在iOS上可谓是再合适不过的了.GitHub上的iOS开源项目数不胜数,iOS每一次的改变,总会引发iOS开源项目的演变,从iOS 1.x到如今的iOS 7, ...

  7. React生命周期和虚拟DOM

    一.虚拟DOM 1.React并不直接操作DOM,React中的render方法,返回一个DOM描述,React能够将这个DOM描述与内存中的表现进行比较,然后以最快的方式更新浏览器 2.React实 ...

  8. 运行时---关联Associated

    关联:指把两个对象相互关联起来,使得其中的一个对象作为另外一个对象的一部分   一.在类的定义之外为类增加额外的存储空间        使用关联,我们可以不用修改类的定义而为其对象增加存储空间.这在我 ...

  9. js鼠标,键盘,坐标轴事件

    鼠标按下事件,左键是0,滑轮是1,右键2 document.getElementById("box").onmousedown =function(e) { if (e.butto ...

  10. 学习练习 java面向对象存取款查询余额

    package com.hanqi; public class Account { String ZhangHao; double CunKuanYuE; Account(String ZhangHa ...