MongoDB之TextSearch简介
MongoDB之TextSearch简介
MongoDB支持对文本内容执行文本搜索操作,其提供了索引text index和查询操作$text来完成文本搜索功能。下面我们通过一个简单的例子来体验一下MongoDB提供的全文检索功能。
1.新建blogs collection,并插入如下的document。
db.blogs.insert({_id:1,title:"MongoDB text search",content:"this is a simple MongoDB text search introduction"})
db.blogs.insert({_id:2,title:"MongoDB text index",content:"this is ae MongoDB text index introduction"})
db.blogs.insert({_id:3,title:"MongoDB text operators",content:"this is ae MongoDB text query introduction"})

2.创建Text Index。
只有拥有text index的collection才支持全文检索;
每个collection只能拥有一个text index;
Text index可以包含任何的string类型、string数组类型的字段;
Text index可以包含多个字段;
执行如下新建text index的语句
db.blogs.ensureIndex({title:"text",content:"text"})

3.执行简单的全文检索
db.blogs.find({$text:{$search:"index"}})

4.查询包含index或者operators的记录
db.blogs.find({$text:{$search:"index operators"}})

5.查询包含mongodb但是不包含search的记录
db.blogs.find({$text:{$search:"mongodb -search"}})

6.查询包含text search词组的记录
db.blogs.find({$text:{$search:"\"text search\""}})

7.使用权重排序搜索结果
默认情况下全文检索返回的结果是无序的;
每次全文检索MongoDB会针对文档的匹配程度为每个document计算一个相对的分数;
MongoDB提供了$meta textScore来支持全文检索的分数;
db.blogs.find( {$text:{$search:"mongodb index"}}, {score:{$meta:"textScore"}} ).sort({score:{$meta:"textScore"}})

MongoDB之TextSearch简介的更多相关文章
- (原创)MongoDB之NoSQL简介
Nosql简介1.1系统对数据的需求 Nosql[Nosql主要用途大数据处理]的全称为”not only sql”,为非关系型数据库[非关系型数据库就是关系型数据库的所有特点都没有了, ...
- MongoDB数据库的简介及安装
一.MongoDB数据库简介 简介 MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自“humongous”,是一种开源的文档数据库──No ...
- mongodb(一) NoSQL简介
NoSQL简介 写在前面,本文就是学习的记录笔记,大部分内容都属于参考,分享给大家 关系与非关系数据库 那么应该了解下影响关系数据库性能的主要原因: 在关系型数据库中,导致性能欠佳的最主 ...
- [MongoDB教程] 1.简介
MongoDB (名称来自「humongous (巨大无比的)」), 是一个可扩展的高性能,开源,模式自由,面向文档的NoSQL,基于 分布式 文件存储,由 C++ 语言编写,设计之初旨在为 WEB ...
- MongoDB MapReduce用法简介
Map-Reduce部分:Map-Reduce相当于关系型数据库中的group by,主要用于统计数据之用.MongoDB提供的Map-Reduce非常灵活,对于大规模数据分析也相当实用. 语法 db ...
- MongoDB(1)--MongoDB安装及简介
一.MongoDB的应用场景及实现原理二.MongoDB的常用命令及配置三.手写基于MongoDB的ORM框架四.基于MongoDB实现网络云盘实战五.MongoDB 4.0新特性 一.MongoDB ...
- MongoDB 和 NoSQL简介
MongoDB 是一个基于分布式文件存储的数据库( https://www.mongodb.com/ ).由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.MongoDB ...
- MongoDB常用操作--简介
mongodb在项目中使用越来越觉得日志方面的记录和查询是远远优于MySQL的,所以对其一些基本的操作进行了整理,以下就是整理的一些规则插入数据: insert插入多组数据:inserrAll修改数据 ...
- Mongodb 学习笔记简介
目录 1 准备工作... 5 1.1 相关网址... 6 1.1 下载安装... 6 1.1.1 下载:... 6 1.1.2 ...
随机推荐
- 压缩文本、字节或者文件的压缩辅助类-GZipHelper
下面为大家介绍一.NET下辅助公共类GZipHelper,该工具类主要作用是对文本.字符.文件等进行压缩与解压.该类主要使用命名空间:System.IO.Compression下的GZipStream ...
- jqueryValidation使用
jq form表单前端校验可以使用jq插件jquery-validation.js.具体的使用方法: 1.引入文件: <link rel="stylesheet" href= ...
- 利用Maple推导向量方程的微分公式
在某些几何软件的开发中,会要求写出一个向量方程的微分公式.对我而言,手工推导繁琐.易出错.且需要反复校验. 早就听说Mathematica, Maple这样的软件可以自动进行符号公式的推导,一直没有时 ...
- maven使用
Maven是一个项目管理和构建自动化工具.但是对于我们程序员来说,我们最关心的是它的项目构建功能,它定义了项目开发的几个标准步骤:编译,发布,单元测试及部署以帮助项目开发 最简单的时候场景是,在pom ...
- 【温故Delphi】双击工程文件打开软件
问题描述 大部分软件都有鼠标双击文件,就能打开所关联的软件并打开所选工程,这是如何做到的呢? 把文件关联到一个程序中,双击文件来启动程序,那么这个文件名称就是这个程序的命令行的一个参数. 所以要想实现 ...
- 关于.NET大数据量大并发量的数据连接池管理
转自:http://www.cnblogs.com/virusswb/archive/2010/01/08/1642055.html 我以前对.NET连接池的认识是错误的,原来以为在web.confi ...
- Linux 如何使用压缩与解压缩的方式将Windows下的zip压缩包上传到Linux系统
当我们无法使用xftp方式上传文件到Linux系统时,我们可以使用在Windows下压缩文件夹,然后到Linux系统下解压缩的方式,完成整个上传工作. 第一步:在Windows系统下,将整个文件夹压缩 ...
- JS-JQuery(JSONP)调用WebService跨域若干技术点
1.JSONP:JSON With Padding,让网页从别的网域获取信息,也就是跨域获取信息,可以当做是一种“工具”,大多数架构Jquery.EXTjs等都支持. 由于同源策略,一般来说位于 se ...
- Inno setup中定制安装路径
我的程序修改了安装界面,所以我的界面中提供了更改安装路径的方法. 用户修改后的路径会被传回inno setup脚本,脚本中需要做的事情如下: 1,写一个函数,来返回新的安装路径,如: function ...
- iOS进阶_地图定位
一.定位步骤 1.Xcode自带地图,直接先引入头文件 #import <CoreLocation/CoreLocation.h> 2.CLLocation框架中的CLLocationMa ...