MongoDB 全文检索和标签功能

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 简单翻译。原文:http://www.mongodb.org/display/DOCS/Full+Text+Search+in+MongoMongoDB是通过增加一个tags的数组来实现标签功能(tagging)。

简单翻译。

原文:http://www.mongodb.org/display/DOCS/Full+Text+Search+in+Mongo


MongoDB是通过增加一个tags的数组来实现标签功能(tagging)。


obj = {
  name:     "Apollo"     ,      
  text:  "Some text about Apollo moon landings", 
  tags: [ "moon"  ,  "apollo"    "spaceflight" , ]     
}


建立索引:

db.articles.ensureIndex( { tags: 1 } );


搜索:

//查找一个articles中标签为"apollo"的文档,并输出这个文档的name属性。

> print(db.articles.findOne( { tags: "apollo"} ).name);  
Apollo


全文搜索则是把所有的文本分词后放到一个keywords数组中,实质和tag功能一样:


{ title :  " this    is fun" ,           
  _keywords : ["this", "is" , "fun"]
}


和专门的全文搜索引擎比较:

    MongoDB只是内置功能可以实现全文搜索,它并不是一个专门的全文搜索引擎。

    专门的全文搜索引擎提供以下的功能:

        1.分词

        2.排名(rank)查询(MongoDB可以实现,但需要自已写代码)

        3.bulk index building

    尽管bulk index building可以让索引很快地建立,但是这并不能达到实时的效果,MongoDB有一大好处,可以实时,传统的工具很难达到这样的效果。


实际使用的例子:

The Business Insider web site uses MongoDB for its blog search function in production.
Mark Watson's opinions on Java, Ruby, Lisp, AI, and the Semantic Web - A recipe example in Ruby.
Full text search with MongoDB at Flowdock

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
6月前
|
Oracle NoSQL 关系型数据库
实时计算 Flink版产品使用合集之MongoDB CDC connector的全量快照功能可以并发读取吗
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
112 2
|
3月前
|
存储 NoSQL 数据管理
揭秘MongoDB时间序列集合:这个超级功能将如何彻底改变你的数据管理?
【8月更文挑战第8天】时间序列数据记录随时间变化的信息,在数据库管理中至关重要。MongoDB自4.0版起引入时间序列集合,专为这类数据优化存储与查询。通过问答形式介绍其特点:自动数据过期、高效存储机制及快速查询操作。创建时需指定时间字段及可选元数据字段。支持设置数据过期时间,采用粗粒度索引减少I/O操作。查询时可通过时间范围筛选数据,并利用聚合框架进行数据分析。随着实时分析需求的增长,时间序列集合的应用将更加广泛。
132 0
|
5月前
|
存储 负载均衡 NoSQL
MongoDB的分片功能
【6月更文挑战第6天】MongoDB的分片功能
59 1
|
5月前
|
监控 NoSQL MongoDB
MongoDB全文检索: 助力快速精准的文本搜索
MongoDB全文检索: 助力快速精准的文本搜索
249 0
|
6月前
|
分布式计算 DataWorks NoSQL
DataWorks产品使用合集之在 DataWorks 中,离线同步的一键生成目标表结构功能不能识别 MongoDB 数据源如何解决
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
57 0
|
11月前
|
存储 人工智能 NoSQL
MongoDB推出高级数据管理功能,实现随处可运行应用程序
借助MongoDB Atlas for the Edge,企业不仅可以安全地存储数据,还可以跨越不同数据源和目的地实时同步数据,从而提供具有高可用性、高弹性和高可靠性的应用程序
|
12月前
|
NoSQL 测试技术 API
Eolink Apikit 版本更新:「数据字典」功能上线、支持 MongoDB 数据库操作...
Eolink Apikit 版本更新: 1. 搭建自定义接口协议架构,支持快速适配金融行业各类型私有协议的导入、编辑和展示。 2. 数据字典功能上线,支持以数据字典的形式管理参数枚举值。 3. 数据库连接支持 MongoDB 数据库操作。 4. 基于 Apikit 类型导入 API 数据支持增量更新。
74 0
|
数据可视化 前端开发 NoSQL
【BackEnd】SpringBoot整合MongoDB实现登录注册功能(适合初学者)
该项目使用SpringBoot2.7+MongoDB实现的登录注册Demo,可作为启动项目的BaseLine
302 0
|
存储 传感器 缓存
MongoDB 功能详解之时间序列集合(Time Series Collections)
时间序列集合(Time Series Collections):MongoDB 5.0 版本中的新功能。
|
NoSQL MongoDB
《阿里云MongoDB备份恢复功能说明和原理介绍》电子版地址
阿里云MongoDB备份恢复功能说明和原理介绍
100 0
《阿里云MongoDB备份恢复功能说明和原理介绍》电子版地址