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 ...
随机推荐
- mysql通过data文件恢复数据库的方式
1.首先定位mysql的my.ini配置文件,查找datadir的位置 #Path to the database rootdatadir="C:/ProgramData/MySQL/MyS ...
- PHP向mysql中插入数据的方法
require "database.php"; $po_code = "YMWF2015-6-25-1"; $customer = "youmei&q ...
- DIV+CSS常用的网页布局代码
单行一列以下是引用片段:body { margin: 0px; padding: 0px; text-align: center; }#content { margin-left:auto; marg ...
- WebApi Put方法出现MethodNotAllowed解决方法
WebApi Put方法提交数据的时候总提示MethodNotAllowed,在网上查了很多资料才发现是因为IIS安装了一项服务“WebDAV”,在IIS中把“WebDAV”前面的勾去掉,重新启动电脑 ...
- 云端卫士实战录 | Java高级特性之多线程
<实战录>导语 一转眼作为一名Java开发者已经四年多时间了,说长不长说短不短,对于java的感情还是比较深的,主要嘛毕竟它给了我饭吃.哈哈,开个玩笑.今天我想借此机会来和大家聊聊Java ...
- 多线程Server client
项目结构 项目设计 客户端同时大量请求服务端,服务端多线程处理连接,并发序列化获得客户端发送的数据,并做出处理. IClients package simple.socket; import java ...
- JQuery初体验
虽然做b/s也有一年半了,但是还没怎么认真的去看JQuery,趁自己生病的这几天,恶补一下JQuery方面的知识,保持学习的态度,内容很简单,聊以自慰一下>_<.废话不多说,直接上代码了. ...
- R语言读取excel文件的3种方法
R读取excel文件中数据的方法: 电脑有一个excel文件,原始的文件路径是:E:\R workshop\mydata\biom excel数据为5乘2阶矩阵,元素为 ...
- java 获取服务器 linux 服务器IP 信息
public String getUnixLocalIp() { String ip = ""; try { Enumeration<?> e1 = (Enumerat ...
- spring aop一些名词的理解
最近想深入了解spring,已经使用spring一段时间,但是对spring的理解一直很肤浅,先把几个常见的名词理解一下. 比如一个ssh架构的电商系统上面有用户模块,商品模块,订单模块,支付模块等, ...