mongodb做全文检索,如何做模糊查询

dongle2001

来自: dongle2001 2011-03-12 12:07:03

  • 天亮了

    天亮了 (5.11C) 2011-03-12 12:08:19

    卧勒个去,自己建索引吧

  • 小毛

    小毛 (熟悉的歌声) 2011-03-12 12:10:27

    模糊查询?正则?

  • Rei

    Rei (Ruby 程序员) 2011-03-12 12:13:20

    db.collection.find( { _keywords : { $all : ["this", "is"] } } )

  • 小毛

    小毛 (熟悉的歌声) 2011-03-12 12:14:07

    mark

  • Rei

    Rei (Ruby 程序员) 2011-03-12 12:14:20

    奥,ruby

    db.collection.find :_keywords => { "$all" => ["this", "is"] }

  • dongle2001 2011-03-13 15:21:09

    $all是不错,不过如何通过 this is a book 查询到 this is a dog呢,不是完全匹配的应该怎么查询?

  • Rei

    Rei (Ruby 程序员) 2011-03-13 18:32:09

    所以这个全文检索只是个伪的全文检索,要做成我们直觉上的检索(语义搜索)还要专门的全文搜索引擎,比如sphinx。这个就要看各个搜索引擎的用法了,sphinx本来是给SQL数据库用的,另外提供xmlpipe2接口,可以让应用层把其他数据导进去,然后通过搜索引擎查找数据。

    有一些工具完成这些步骤

    https://github.com/burke/mongosphinx
    https://github.com/radepal/mongoid-sphinx

    不过不太成熟,需要折腾。

    如果网站是开放的,不搜索私有信息,也可以用google custom search,我用google给自己的网站加了个站内搜索 http://codecampo.com/search

  • dongle2001 2011-03-14 08:26:01

    没有更简单的方法吗,mongdob没有提供这样的查询语法?sphinx很好,只是杀鸡焉用牛刀。

  • Chol

    Chol (请不要挡住我的阳光) 2011-05-08 07:21:15

    我们用mongodb+lucene

你的回应

回应请先 , 或 注册

Mongo是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发,提供了以下功能: * 面向集合的存储:适合存储对象及JSON形式的数据。 * 动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及...

3758 人聚集在这个小组,
你是否愿意成为其中的一员?

手机扫描二维码,让小组随时陪伴你

↑回顶部