1

지금 나는 Linux에서 내 mongodb 데이터베이스에 옐프 리뷰의 거대한 json 파일을 가져 왔습니다. 키워드 검색을위한 올바른 방법을 구현하고 싶기 때문에 속성 아래에서 '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를 참조하십시오.