1

現在,我將一個巨大的yelp review json文件導入到Linux上的mongodb數據庫中。我想實現一個正確的方式來搜索關鍵字,所以我可以在屬性下的「text」和「Alcohol:full_bar」下查找關鍵字「UFC」。試圖找出如何在mongodb中以正確的方式實現此搜索

這是我到目前爲止有:

db.yelp.find({ 
    $or: [{ 
    "text": UFC /.*enjoy.*/i 
    }, { 
    "attributes": Alcohol: full_bar/.*good.*/i 
    }] 
}) 

這是我的JSON文件的樣本:

{"time":["Fri-0:2","Sat-0:1","Sun-0:1","Wed-0:2","Sat-1:2","Thu-1:1","Wed-1:1","Sat-2:1","Sun-2:2","Thu-2:1","Wed-2:1","Fri-3:1","Sun-3:3","Thu-4:1","Tue-4:1","Sun-6:1","Wed-6:1","Fri-10:1","Sat-10:1","Mon-11:1","Wed-11:2","Mon-12:1","Sat-12:1","Tue-12:1","Sat-13:2","Thu-13:1","Tue-13:2","Wed-13:2","Fri-14:2","Sat-14:1","Wed-14:1","Fri-15:1","Sat-15:1","Thu-15:1","Tue-15:1","Fri-16:1","Sat-16:2","Sun-16:1","Tue-16:1","Sat-17:3","Sun-17:1","Fri-18:1","Mon-18:1","Sat-18:2","Sun-18:1","Tue-18:2","Wed-18:1","Fri-19:2","Mon-19:1","Sun-19:2","Thu-19:1","Wed-19:1","Mon-20:1","Sun-20:5","Thu-20:1","Tue-20:1","Wed-20:2","Fri-21:2","Sun-21:1","Thu-21:4","Tue-21:1","Wed-21:1","Fri-22:1","Thu-22:1","Fri-23:1","Mon-23:1","Sat-23:3","Sun-23:1","Thu-23:2","Tue-23:1"],"business_id":"7KPBkxAOEtb3QeIL9PEErg","type":"checkin"} 
{"time":["Mon-13:1","Thu-13:1","Sat-16:1","Wed-17:1","Sun-19:1","Thu-20:1","Sat-21:1"],"business_id":"kREVIrSBbtqBhIYkTccQUg","type":"checkin"} 
{"time":["Thu-0:1","Mon-1:1","Mon-12:1","Sat-16:1"],"business_id":"tJRDll5yqpZwehenzE2cSg","type":"checkin"} 
{"time":["Fri-0:1","Sat-0:1","Sun-0:1","Thu-0:1","Wed-0:1","Fri-1:1","Sat-1:1","Tue-1:1","Mon-2:1","Sun-2:1","Thu-2:1","Sat-3:1","Thu-3:1","Wed-3:1","Mon-17:1","Sat-17:1","Sun-17:2","Tue-17:1","Fri-18:1","Mon-18:1","Sun-18:1","Mon-19:1","Mon-20:3","Sat-20:1","Thu-20:1","Mon-21:1","Thu-21:1","Sat-22:3","Sun-22:1","Tue-22:3","Wed-22:1","Sat-23:2","Tue-23:3"],"business_id":"nhZ1HGWD8lMErdn3FuWuTQ","type":"checkin"} 
{"time":["Sat-11:1","Fri-13:1","Thu-14:1"],"business_id":"8bY6M2yiWOF2ilfmGS34Fw","type":"checkin"} 
{"time":["Mon-0:1","Fri-1:1","Sun-1:1","Tue-1:1","Wed-11:1","Fri-12:1","Tue-12:1","Fri-13:1","Sun-15:1","Thu-16:1","Sat-17:1","Fri-18:1","Sun-18:1","Fri-20:1","Sat-20:2","Sun-20:1","Thu-20:2","Sat-21:1","Thu-21:1","Wed-23:1"],"business_id":"zNVot5_XHsxwfKdiFjk_aA","type":"checkin"} 
{"time":["Fri-0:1","Sun-0:1","Wed-0:1","Sun-1:2","Tue-1:2","Sat-2:1","Sat-15:1","Fri-17:2","Sat-17:1","Thu-17:1","Tue-17:1","Wed-17:1","Sat-18:1","Sun-19:1","Thu-19:2","Fri-22:2","Sun-22:2","Thu-22:1","Tue-22:1","Fri-23:1","Sat-23:1","Thu-23:1","Tue-23:2","Wed- 

回答

0

首先,你應該能爲textattributes字段text index

db.yelp.createIndex({ text: "text", attributes: "text" })

而且應該用$text運營商進行搜索本身。

db.yelp.find({ $text: { $search: "UFC \"Alcohol: full_bar\"" } })

更多信息,請參見docs