mongodb全文搜索多个短语

时间:2015-09-09 11:50:57

标签: mongodb full-text-search

如果可以在mongodb中搜索多个短语吗?

代表:

db.words.insert({name:"john cooper"})
db.words.insert({name:"mike spelman"})

我需要找到“john cooper”和“mike spelman”

我可以使用单个短语创建查询:

db.words.find({$text:{$search : "\"mike serpsky\" john cooper"}})

并获得:

{ "_id" : ObjectId("55f01b2c827e16e12f6eeebf"), "name" : "mike serpsky" }

但我无法创建下一个查询:

db.words.find({$text:{$search : "\"mike serpsky\" \"john cooper\""}})

如果在单个查询中存在某种方法吗?

1 个答案:

答案 0 :(得分:2)

确定。在这种情况下,全文搜索不是很有用。 使用正则表达式建立解决方案:

db.words.find({"name": {$in : [/john cooper/, /mike serpsky/]}})

db.words.find({"name": /john cooper|mike serpsky/})

两者都很好。