MongoDB 全文检索和标签功能

简单翻译。

原文: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

时间: 2024-11-05 06:32:50

MongoDB 全文检索和标签功能的相关文章

TAG标签功能如何正确的使用

  首先我们了解一下什么是tag标签,tag标签其实有很多种,比如标题标签(Title Tag).描述标签(Description Tag).关键词标签(Keywords Tag)等等.今天我们讲的并不是这些,而是TAG标签插件功能,它一个由操作者自己定义的能够概括文章主要内容的关键词,它是比网站分类更加准确.更加具体.更具有灵活性的存在.相信写过博客的都有用到过这个功能. 本章主要探讨,TAG标签对我们网站优化有什么优点?在我们使用tag标签功能的过程中我们要注意什么?当发现自己网站TAG标签

Ajax程序中,自己实现页面前进、后退、与标签功能(asp.net2.0)

ajax|asp.net|程序|页面        第一次写博客,并且斗胆发表技术类文章,请大家不要见笑,有写的失败或雷同的地方请大家扔砖头敲我吧!       Ajax刚入门不久,便写了一个Ajax+C#的留言本程序,在实际写程序中,渐渐发现了Ajax程序许多不成熟的地方,其中比较典型的就是页面的前进.后退与标签问题,因为Ajax整个程序是采用无刷新与服务器进行交互,所以导致了大部分浏览器的前进后退的功能按钮失效,当然标签功能也失去了意义,如果用Ajax开发一个论坛的话,在堆积如山的帖子中必然

Ajax程序中实现页面前进、后退、与标签功能

第一次写博客,并且斗胆发表技术类文章,请大家不要见笑,有写的失败或雷同的地方请大家扔砖头敲我吧!Ajax刚入门不久,便写了一个Ajax+C#的留言本程序,在实际写程序中,渐渐发现了Ajax程序许多不成熟的地方,其中比较典型的就是页面的前进.后退与标签问题,因为Ajax整个程序是采用无刷新与服务器进行交互,所以导致了大部分浏览器的前进后退的功能按钮失效,当然标签功能也失去了意义,如果用Ajax开发一个论坛的话,在堆积如山的帖子中必然有经典,但是我们在关闭浏览器后,就得重新从头开始寻找,这样实在是太

世界之窗浏览器其他标签功能及设置

  以下提到所有功能及设置在标签的右键菜单或标签选项里都能找到. 锁定标签: 在标签右键菜单中,您可以使用锁定.自动刷新等标签功能. 标签锁定后,在您关闭标签时将弹出确认对话框,以避免您误关闭了重要的标签. 自动刷新标签: 使用自动刷新功能可对频繁更新的网页自动刷新,不必手动刷新了. 标签宽度设置: 您可以选择是否让所有的标签都使用相同的宽度: 此外,您还可以设置标签允许使用的最大及最小宽度. 标签外观: 您可以控制某些元素是否在标签及标签栏上显示: 未激活标签的显示: 未激活标签可以设置使用彩

dedecms如何在文章内容页添加TAG标签功能

Tag标签是web2.0的东西,相当关键词,它可以把自己网站的一些文章包含它的让其它网站引用,自己也引用别的网站的含它的文章,这样,既可以带给人家流量,也可以为自己带来流量,是互利的. 我们在使用dedecms的时候应该如何在文章内容页添加TAG标签功能呢?Tag标签对于SEO帮助很大,具体修改方法为: 打开模板文件article_article.htm 找到 <div class="content"><table width='100%'>&http:

Twitter新增照片人物标签功能:效仿Facebook

Twitter效仿Facebook增加 照片人物标签功能新浪科技讯 北京时间3月27日 下午消息,Twitter本周升级了iPhone和Android应用,新增了照片人物标签功能,方便用户在照片中标记人物,而不必因为单独在文本中输入而占用宝贵的字数."在照片中标记人物可以让 围绕照片展开的 对话更有趣.更简单."Twitter软件工程师塞萨·普尔塔(César Puerta)周三在官方博客中写道:"不仅如此,标签也不会占用Twitter消息的字数--你最多可以在照片中标记10

javascript-此网站的标签功能怎么做?如何做到回车后就缩进了?

问题描述 此网站的标签功能怎么做?如何做到回车后就缩进了? 我提问问题时,在标签栏输入标签后,回车,怎么就缩进了?如何用javascript实现? 解决方案 这里使用了js的失去焦点时间. 比如在一个input 中 然后 function test(){ 把他缩进; } 就可以了 解决方案二: 这里使用了js的失去焦点事件. 比如在一个input 中 然后 function test(){ 把他缩进; } 就可以了 解决方案三: 解决方案四: 这里使用了js的失去焦点事件. 比如在一个input

问下如何在MyEclipse7.0中配置web.xml 让它带自动提示struts标签功能

问题描述 问下如何在MyEclipse7.0中配置web.xml让它带自动提示struts标签功能那位高手知道帮解答下小弟万分感激!就是在web.xml中输入个<然后会提示 解决方案 解决方案二:问下如何在MyEclipse7.0中配置web.xml让它带自动提示struts标签功能那位高手知道帮解答下小弟万分感激!就是在web.xml中输入个<然后会提示解决方案三:其实很简单的:以spring2.0的配置文件为例(其他基本类似):进入:window->Preference...->

A5营销:浅析站长该如何正确使用网站的标签功能

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 话说,网站标签是一部分站长所重视的,特别是一些博客.论坛等,这些网站上几乎都会使用标签功能,大多数站长用标签功能主要是利于用户搜索查找同类的内容,也可以说给网站带来了用户体验,更好的是内容之间的相关性与用户之间的交互性大大增强.目前,标签功能很少有站长去关注,及时有站长去关注标签,对标签的功能以及使用上也是出现了错误,如果标签使用不当会被百度