如何在 mongodb 中同时搜索词组和关键字?
How do I search for a phrase and a keyword at the same time in mongodb?
基本上,我正在浏览 mongodb 中的一个大型 yelp 数据库,我想找到所有包含短语 hot wings 和关键字折扣的评论。但是我无法创建正确的查询来查找评论中包含短语 hot wings 和关键字折扣的评论。
为了给你一些背景知识,我在 ubuntu 上将 yelp 评论的几个大 json 文件导入到我的 mongodb 数据库中。我想在 "text" 下查找关键字 "UFC" ,在属性下查找 "Alcohol: full_bar" 和 return 它们的数量,至少。因为我想看看提到 UFC 和 MMA 的酒吧是否比其他没有提到这些的酒吧获得更多的评论、签到和提示。
我已经在我的 mongodb 数据库中成功建立了这个索引:
> db.collection.createIndex({"text":"text", "attributes": "text"})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
这是我的:
db.collection.find( { $text: { $search: "\"hot wings\" 'discount'" } } )
到目前为止,它只给我评论,里面有辣鸡翅,还有折扣。有没有办法只显示包含短语热翼和关键字折扣的评论?
有没有办法同时搜索多个短语和一个关键词?
这应该有效:
db.collection.find({
$and: [
{'text': {'$regex': 'hot wings'} },
{'text': {'$regex': 'discount'} }
]})
您可以向 $and 数组中添加更多短语。
基本上,我正在浏览 mongodb 中的一个大型 yelp 数据库,我想找到所有包含短语 hot wings 和关键字折扣的评论。但是我无法创建正确的查询来查找评论中包含短语 hot wings 和关键字折扣的评论。
为了给你一些背景知识,我在 ubuntu 上将 yelp 评论的几个大 json 文件导入到我的 mongodb 数据库中。我想在 "text" 下查找关键字 "UFC" ,在属性下查找 "Alcohol: full_bar" 和 return 它们的数量,至少。因为我想看看提到 UFC 和 MMA 的酒吧是否比其他没有提到这些的酒吧获得更多的评论、签到和提示。
我已经在我的 mongodb 数据库中成功建立了这个索引:
> db.collection.createIndex({"text":"text", "attributes": "text"})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
这是我的:
db.collection.find( { $text: { $search: "\"hot wings\" 'discount'" } } )
到目前为止,它只给我评论,里面有辣鸡翅,还有折扣。有没有办法只显示包含短语热翼和关键字折扣的评论?
有没有办法同时搜索多个短语和一个关键词?
这应该有效:
db.collection.find({
$and: [
{'text': {'$regex': 'hot wings'} },
{'text': {'$regex': 'discount'} }
]})
您可以向 $and 数组中添加更多短语。