【问题标题】:RethinkDB text search?RethinkDB 文本搜索?
【发布时间】:2015-05-13 08:18:08
【问题描述】:

我正在尝试为我的下一个项目研究一些 rethinkdb。我的后端在 Haskell 中,重新考虑 db haskell 驱动程序看起来比 mongodb 好一些。所以我想试试。

我的问题是如何使用 rethinkdb 进行简单的文本搜索? 没什么太复杂的。只需find field which value contains these words。 我认为这应该是内置的,因为即使是最小的博客应用程序也需要某种搜索工具,对吧?

所以我正在寻找一个 mongodb 等价物:

var search = { "$text": { "$search": "some text" } };

谢谢。

编辑

我不是在寻找正则表达式和匹配函数。

  1. 对于或多或少的大型集而言,速度非常慢。
  2. 我没有任何索引的概念。
  3. 它没有任何词干的概念。

【问题讨论】:

  • Rethinkdb 不是搜索引擎。如果您正在寻找一个,请查看 elasticsearch。
  • 感谢您的回复,但我正在寻找 mongodb 等效功能(正如我在问题中明确指出的那样)。 Mongodb 也不是搜索引擎...

标签: rethinkdb


【解决方案1】:

使用rethinkdb 驱动程序documented here

run h $ table "table" # R.filter (\row -> match "some text" (row ! "field"))

【讨论】:

  • 感谢您的帮助。但这不等同于上面显示的 mongodb 文本搜索。我知道匹配函数和正则表达式。查看编辑...
  • RethinkDB 没有 mongodb 样式的文本索引。它具有多索引,可以与split 类似地使用,但每行限制为 256 个值。 (请注意,对于大型数据集,文本索引的性能往往很差,因为它们每个单词需要一个索引条目。)如果您的用例需要文本索引,mongodb 可能是更好的选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 2011-08-09
  • 2016-05-28
  • 2012-03-26
相关资源
最近更新 更多