MongoDB之TextSearch简介

MongoDBTextSearch简介 

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"}})

时间: 2024-08-26 01:47:14

MongoDB之TextSearch简介的相关文章

(原创)MongoDB之NoSQL简介

Nosql简介1.1系统对数据的需求        Nosql[Nosql主要用途大数据处理]的全称为”not only sql”,为非关系型数据库[非关系型数据库就是关系型数据库的所有特点都没有了,主外键,约束也没有了,sql语句也没有了.].这类数据库的主要特点是:非关系型.分布式.开源的.水平可扩展的.Nosql最典型的应用为key-value存储.Nosql的最主要的用途是大数据的处理,这个问题在传统的关系型数据库中有严重的系统瓶颈,而nosql的诞生很好的解决了这个问题.传统的数据库在

Mongodb数据库,简介,下载安装

https://www.cnblogs.com/xiaoyuanqujing/articles/11805775.html 一.Mongodb数据库简介 1.Mongodb数据库: 是一款强大,灵活,易于扩展,面向文档的非关系型数据库. 2. 二.安装 1.下载社区版本(专业版本收费) 网址:https://www.mongodb.com/download-center #1.选择社区版本 #2.下载 #3.选择版本和系统下载 2.安装软件 #1.点软件 #2.选择自定义安装 #3.选择安装路径

MongoDB安装和简介

前面我们把nodejs的web开发入门说了,现在来说说数据库,一般搭配的数据库是mysql和mongodb,今天我们来说mongodb MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个高性能,开源,无模式的文档型数据库,官方给自己的定义是Key-value存储(高性能和高扩展)和传统RDBMS(丰富的查询和功能)之间的一座桥梁. 下面说安装 下载地址:MongoDB的官网是:http://www.mong

爬虫入门【8】Python连接MongoDB的用法简介

MongoDB的连接和数据存取 MongoDB是一种跨平台,面向文档的NoSQL数据库,提供高性能,高可用性并且易于扩展. 包含数据库,集合,文档等几个重要概念. 我们在这里不介绍MongoDB的特点和用法了,感兴趣的可以查一下官方文档. 在此重点介绍如何使用python连接MongoDB,并通过PyMongo操作MongoDB数据库. 这里默认MongoDB已经安装好啦,安装教程可以参考: http://www.yiibai.com/mongodb/mongodb_environment.ht

二、MongoDB的基础知识简介

1.文档.集合和数据库 a).文档:因为MongoDB是面向文档的数据库,那么可想而知文档是它的基本单元,相当于关系型数据库中的行! Ⅰ.它是由键值对组成的一个有序集:注:键不能为空且是字符串类型的. Ⅱ.它不仅区分大小写,而且还区分数据类型: Ⅲ..和$符号具有特殊意义,需要在特定环境中使用: b).集合:同样的,多个文档汇聚在一起就是一个集合,但是这些文档可以是不同的结构模式,组合在一起就相当于关系型数据库中的表! Ⅰ.同样命名不能为空,不能以system开头,且不能使用保留字符$: Ⅱ.动

学习MongoDB一: 安装与配置及简介

一.简介 MongoDB一种非关系型数据库(NoSql),是一种强大.灵活.可扩展的数据存储方式,因为MongoDB是文档模型,自由灵活很高,可以让你在开发过程中畅顺无比,对于大数据量.高并发.弱事务的互联网应用,MongoDB可以应对自如,MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,还对MapReduce式聚合的支持,以及对地理空间索引的支持. 二.主要特性 面向集合存储,易于存储对象类型的数据 模式自由 支持动态查询 支持完全索引,包含内部对象 支持复制和故障恢复

MongDB简介

一.基本概念 MongoDB 是一个高性能,开源,无模式的文档型数据库,是当前NoSQL 数据库产品中最热门的一种.它在许多场景下可用于替代传统的关系型数据库或键/值存储方式,MongoDB 使用C++开发.MongoDB 的官方网站地址是:http://www.mongodb.org/,大家可以在此获得更详细的信息. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json 的bjson 格式,因此可

mongodb mapreduce用法

mongoDB的MapReduce简介 分类:            MongoDB2012-12-06 21:378676人阅读评论(2)收藏举报 MongoDB MapReduce MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并成最终结果(REDUCE).这样做的好处是可以在任务被分解后,可以通过大量机器进行并行计算,减少整个操作的时间. 上面是MapReduce的理论部分,下面说实际的应用,下面以MongoDB MapReduce为

MongoDB复制集技术

第1章 MongoDB复制集简介: 一组MongoDB复制集,就是一组MongoDB进程,这些进程维护同一个数据集合,复制集提供了数据冗余和高等级的可靠性,这是生产部署的基础 1.1 复制集的目的: 保证数据在生产部署是的冗余和可靠性,通过在不同的机器上保存副本来保证数据的不会因为单间损坏而丢失,能够随时应对数据丢失或者机器损坏带来的风险 还可以提高用户读写数据的性能,提高整个系统的负载 1.2 简单介绍: 1.      一组复制集就是一组MongoDB实例掌管同一个数据集,实例可以在不同的机