【问题标题】:Haskell mongodb text searchHaskell mongodb 文本搜索
【发布时间】:2013-07-11 15:46:04
【问题描述】:

使用haskell mongodb驱动进行文本搜索的状态如何?

现在 mongo 中有类似于 SQL 变体的“LIKE”运算符,那么在集合或整个数据库中搜索特定文本字符串的最佳方法是什么?

我读过一些人引用外部工具,但我也可以看到一些文本搜索是在 2.4 mongo 版本中实现的,它是通过命令界面完成的。

从控制台执行此操作应该没有任何问题,但我将如何从 haskell 驱动程序执行此操作?我在驱动程序 API 中找到了“runCommand”函数,看起来应该可以向服务器发送“文本”命令,但签名显示它只返回一个文档——而不是文档列表。那么它是如何正确完成的呢?

如何有效地搜索集合或数据库中的单词或句子,以便返回包含该单词的文档列表?是否可以使用 mongo 的“文本搜索”功能不使用外部工具?应该在应用程序级别完成吗?

谢谢。

【问题讨论】:

    标签: mongodb haskell


    【解决方案1】:

    结果类型已包含文档列表(包含搜索文本)。不幸的是,我无法在正在运行的数据库上测试查询,但我使用runCommand 运行聚合(在为haskell 驱动程序实现之前)。您为此类查询获得的结果文档如下所示:

    { results: [ 
                { score : ...,
                  obj   : { ... }
                }, 
                ... 
               ],
      ... ,
      ok : 1
    }
    

    结果文档有一个字段results,它的值是一个带有字段scoreobj 的文档。所以最后,您可以在结果列表中找到obj-字段后面的每个匹配文档。 更多详情,请关注here

    【讨论】:

    • Ahaaa .. 就是这样工作的 :) 非常感谢,我会先测试一下,如果一切正常,我会标记为已解决。
    猜你喜欢
    • 1970-01-01
    • 2016-05-28
    • 2012-03-26
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多