0

我希望能够将“Google-eqsue”格式的搜索字符串翻译成可用于搜索 Mongo 数据库的内容(我认为 RegEx 在这里是一个好主意,但对其他想法持开放态度)。我所说的谷歌式查询是什么意思:

"Search for" +this -"but not this"

理想情况下,我正在寻找一种 Javascript 算法,该算法将采用 Google 式查询并返回一些内容,使我能够对 MongoDB 中的文档文本执行单一、快速的查询。我认为最好将其转换为 RegExp 的原因是正则表达式适合这些目标(已编辑)。

4

1 回答 1

1

您尝试过 mongo 的新文本搜索功能吗?

发行说明

对于短语(即用转义引号括起来的术语),搜索将与搜索字符串中的任何其他术语执行 AND;例如,搜索“\”twinkle twinkle\“little star”搜索“twinkle twinkle”和(“little”或“star”)。

搜索包含单词 bake 或 coffee 但不包含 cake 的文档:

db.collection.runCommand( "text", { search: "bake coffee -cake" } )

使用 - 作为术语的前缀以在搜索字符串中指定否定。该查询返回内容字段中包含烘焙或咖啡但不包含蛋糕的文档,全部不区分大小写。

于 2013-01-26T09:01:52.967 回答