Mongodb全文检索

  1. //插入测试数据 有列name和description
  2. > db.stores.insert(
  3. ... [
  4. ... { _id: 1, name: "Java Hut", description: "Coffee and cakes" },
  5. ... { _id: 2, name: "Burger Buns", description: "Gourmet hamburgers" },
  6. ... { _id: 3, name: "Coffee Shop", description: "Just coffee" },
  7. ... { _id: 4, name: "Clothes Clothes Clothes", description: "Discount clothing" },
  8. ... { _id: 5, name: "Java Shopping", description: "Indonesian goods" }
  9. ... ]
  10. ... )
  11. BulkWriteResult({
  12.    "writeErrors" : [ ],
  13.    "writeConcernErrors" : [ ],
  14.    "nInserted" : 5,
  15.    "nUpserted" : 0,
  16.    "nMatched" : 0,
  17.    "nModified" : 0,
  18.    "nRemoved" : 0,
  19.    "upserted" : [ ]
  20. })
  21. //在stores上建立所以 包含name列和description都是文本
  22. > db.stores.createIndex( { name: "text", description: "text" } )
  23. {
  24.    "createdCollectionAutomatically" : false,
  25.    "numIndexesBefore" : 1,
  26.    "numIndexesAfter" : 2,
  27.    "ok" : 1
  28. }
  29. //执行全文检索 会将关键字分词 然后匹配结果还可以 由于数据量小 速度就测不出来了
  30. > db.stores.find( { $text: { $search: "java coffee shop" } } )
  31. { "_id" : 3, "name" : "Coffee Shop", "description" : "Just coffee" }
  32. { "_id" : 1, "name" : "Java Hut", "description" : "Coffee and cakes" }
  33. { "_id" : 5, "name" : "Java Shopping", "description" : "Indonesian goods" }

优势:实时的全文检索。

不知道性能如何,不支持高亮这种展示,只有在3.2+的版本才支持中文分词。

大致了解下,暂时不会用到,以后用到可以详细看手册:

https://docs.mongodb.com/manual/text-search/

时间: 2025-01-07 02:50:22

Mongodb全文检索的相关文章

MongoDB 全文检索

全文检索对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式. 这个过程类似于通过字典中的检索字表查字的过程. MongoDB 从 2.4 版本开始支持全文检索,目前支持15种语言(暂时不支持中文)的全文索引. danish dutch english finnish french german hungarian italian norwegian portuguese romanian russian

mongodb 初学 目录

mongodb 初学 索引 啦啦啦 MongoDB 教程 NoSQL 简介 MongoDB 简介 Windows 平台安装 MongoDB Linux平台安装MongoDB mongodb 在 Ubuntu系统上的安装及卸载 Mongodb启动命令mongod参数说明 Mac OSX 平台安装 MongoDB MongoDB 概念解析 MongoDB - 连接 MongoDB 创建数据库 MongoDB 删除数据库 MongoDB 插入文档 MongoDB 更新文档 MongoDB 删除文档 M

我的MongoDB-基础笔记

mongoDB 知识点小结 1.ObjectId  12位 4时间戳+3机器识别吗+2进程id+3个随机数 getTimestamp() str() 2.Map Reduce 将大批量的工作分解执行,然后将结果合并成最终的结果. 3.MongoDB全文检索 创建索引:db.posts.ensureIndex({post_text:"text"}) 使用全文检索:db.posts.find({$text:{$search:"runoob"}}) 删除全文索引: db.

全文检索引擎Solr系列——整合MySQL、MongoDB

MySQL 拷贝mysql-connector-java-5.1.25-bin.jar到E:\solr-4.8.0\example\solr-webapp\webapp\WEB-INF\lib目录下面 配置E:\solr-4.8.0\example\solr\collection1\conf\solrconfig.xml 1 2 3 4 5 6 <requestHandler name="/dataimport"      class="org.apache.solr.

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 t

用 mongodb + elasticsearch 实现中文检索

而 elasticsearch 可以很好的支持各种语言的全文检索,但我们暂时又不想切换到 elasticsearch 作为后端数据库. 当然,可以在 web 应用中存储数据的时候,再主动写一份到 elasticsearch,但这无疑污染了原有的业务逻辑. 在 IT 行业,只要有需求的地方,必然早已有了一堆好用或者不好用的开源轮子. 幸运地是,现在已经有了一些转换方案,可以将 mongodb 中的数据自动导入到 elasticsearch 中,让 elasticsearch 提供中文智能检索. 转

[转载]Elasticsearch、MongoDB和Hadoop比较

IT界在过去几年中出现了一个有趣的现象.很多新的技术出现并立即拥抱了“大数据”.稍微老一点的技术也会将大数据添进自己的特性,避免落大部队太远,我们看到了不同技术之间的边际的模糊化.假如你有诸如Elasticsearch或者Solr这样的搜索引擎,它们存储着JSON文档,MongoDB存着JSON文档,或者一堆JSON文档存放在一个Hadoop集群的HDFS中.你可以使用这三种配置完成很多同养的事情. ES是否可以作为一个NoSQL数据库?粗看,这句话说的不太对,但是这是一个合理的场景.类似地,M

软件公司为何要放弃MongoDB?

本文转至:http://database.51cto.com/art/201503/469510_all.htm(只作转载, 不代表本站和博主同意文中观点或证实文中信息) Olery成立于2010年,总部位于阿姆斯特丹.该初创公司为酒店行业提供声誉管理与媒体监控工具,帮助酒店将网络评论和社交媒体反馈转化成可执行的商业智能分析. Olery成立最初是使用MySQL来存储(用户.合同等等)核心数据,用MongoDB来存储评论及其类似的数据(即哪些在数据丢失的情况下很容易恢复的数据).一开始,这样的安

mongoDB (mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库,由 C++ 语言编写,旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的. MongoDB - 安装及运行 下载 07/05/2017 Current Stable Release (3.4.6) https://www.mongodb.com/dow