कैसे करने के लिए एक शब्द भी गिनती में MongoDB

0

सवाल

कर सकते हैं किसी को भी सलाह देते हैं कि एक तरह से मैं यह कर सकते हैं अजगर कोड के रूप में एक MongoDB क्वेरी?

import pandas as pd 
data = pd.read_csv("elonmusk.csv") 
from collections import Counter
Counter(" ".join(data["tweet"]).split()).most_common(100)

मैं देख रहा हूँ के लिए मदद लिखने के लिए एक MongoDB क्वेरी बना सकते हैं कि एक इसी तरह के उत्पादन के रूप में अजगर कोड यहाँ दिखाया गया है.

विश्लेषण सभी पाठ का एक क्षेत्र है और लौटने सबसे आम शब्द ।

enter image description here

मेरा मानना है कि MongoDB शब्द बादल यहाँ लिंक, एक समान समाधान https://docs.mongodb.com/charts/saas/chart-type-reference/word-cloud/ हालांकि मैं करने के लिए कोड लिखने में MongoDB खोल ।

मुझे यकीन नहीं था कैसे लागू करने के लिए निम्न Stackoverflow समाधान इस कड़ी में सबसे लगातार शब्द में MongoDB संग्रह

अग्रिम धन्यवाद के लिए किसी भी सलाह है ।

mongodb
2021-11-24 00:08:23
1

सबसे अच्छा जवाब

1

क्वेरी

  • क्वेरी मान लिया गया है कि पाठ है पर ट्वीट क्षेत्र
  • मैच के शब्दों को खोजने के लिए के साथ regex (शब्द केवल अक्षरांकीय अक्षर यहाँ)
  • खोलना
  • समूह और गिनती
  • $set ठीक करने के लिए संरचना (आप उपयोग कर सकते हैं परियोजना भी अपने ही है)
  • क्रमबद्ध करें, शब्द गिनती
  • सीमा रखने के लिए केवल 100 सबसे लोकप्रिय शब्द

परीक्षण कोड यहाँ

aggregate(
[{"$match": {"$expr": {"$eq": [{"$type": "$tweet"}, "string"]}}},
 {"$set": 
    {"matches": {"$regexFindAll": {"input": "$tweet", "regex": "\\w+"}}}},
 {"$project": {"tokens": "$matches.match"}},
 {"$unwind": {"path": "$tokens"}},
 {"$group": {"_id": "$tokens", "count": {"$sum": 1}}},
 {"$set": {"word": "$_id", "_id": "$$REMOVE"}},
 {"$sort": {"count": -1}},
 {"$limit": 100}])
2021-12-12 14:34:04

हाय Takis_ मैं वास्तव में सराहना करते हैं अपने समाधान है । मैं कुछ मुद्दों था की कोशिश कर रहा करने के लिए इसे चलाने के लिए. पहले मैं त्रुटि हुई है ..... कुल परिभाषित नहीं है, तो मैं संग्रह के नाम से पहले अपने कोड. db.ट्वीट.कुल( अब मैं इस त्रुटि मिलती है .... $regexFindAll की जरूरत है 'इनपुट' के लिए हो सकता है के प्रकार स्ट्रिंग" मैं था इससे पहले सेट कलरव क्षेत्र के लिए एक पाठ अनुक्रमणिका लेकिन मैं गिरा दिया है, सूचकांक और मैं अभी भी हो रही है त्रुटि $regexFindAll की जरूरत है 'इनपुट' किया जा करने के लिए स्ट्रिंग प्रकार का" तो मैं जाँच की है क्या प्रकार क्षेत्र है: typeof db.ट्वीट.findone().यह कलरव रिटर्न स्ट्रिंग, किसी भी सुझाव?
Christopher

कुछ दस्तावेज़(ओं) नहीं है स्ट्रिंग कलरव, यह एक समस्या नहीं है, $match रख सकते हैं, केवल दस्तावेजों है कि ट्वीट स्ट्रिंग के रूप में. मैं अद्यतन का जवाब है ।
Takis _

काम करता है कि पूरी तरह से Takis, मैं सिर्फ बनाने के लिए किया था एक छोटे से संपादित करने के लिए इसे पाने के लिए काम करने के लिए खोल में और किया गया था कि कोड उपसर्ग के साथ db. और संग्रह का नाम ट्वीट.
Christopher

db.ट्वीट.aggregate( [{"$मैच": {"$expr": {"$eq": [{"$प्रकार": "$ट्वीट"}, "स्ट्रिंग"]}}}, {"$सेट": {"मैच": {"$regexFindAll": {"इनपुट": "$ट्वीट", "regex": "\\w+"}}}}, {"$परियोजना": {"टोकन": "$मेल खाता है । मैच"}}, {"$खोलना": {"पथ": "$टोकन"}}, {"$समूह": {"_id": "$टोकन", "गिनती": {"$राशि": 1}}}, {"$सेट": {"शब्द": "$_id", "_id": "$$निकालें"}}, {"$क्रमबद्ध": {"गिनती": -1}}, {"$"सीमा: 100}])
Christopher

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में