يبدو أن هناك "-" صغيرًا قبل عدد المنشورات على بطاقات الموضوع عند النقر على خيار الفرز "# الأشخاص" ، مما يجعل الأمر يبدو كما لو كان هناك عدد سلبي من المشاركات. انظر لقطة الشاشة:
ما الذي كنت تتوقعه وما لم تفعله؟
كنت أتوقع رؤية أعداد صحيحة إيجابية.
https://publiclab.org/tags؟sort=followers&order=asc
يمكن أن يساعدنا ذلك في تشخيص المشكلة:
ليز
هل لدى أي شخص روابط كود في متناول اليد يمكنه إضافتها هنا؟ شكرا مقدما!
مرحبًا ebarry ، أعتقد أن هذه مشكلة أكثر خطورة في الواقع: sweat_smile: لقد أجريت تغييرات لهذا هنا https://github.com/publiclab/plots2/pull/7609 لكن لابد أنني أفسدت الأمر وحسّبت العدد الخاطئ. فكر: محبط: التكرار في jywarren @ قد يحتاج آسف إلى بعض المساعدة لإصلاح هذا: sweat_smile:
مرحبًا Tlazypanda ، هل يمكننا إلقاء نظرة على أماكن أخرى حيث يتم استخدام رمز من النوع Tag.counter
، ومحاولة التبديل إلى ذلك؟
https://github.com/publiclab/plots2/pull/7609/files#diff -8fe92870a7f027a46eed82a51c5c16bcR118
ومع ذلك ، فإن التهم متوقف قليلا جدا. أتساءل عما إذا كانت هذه مشكلة تتعلق ببعض الأشياء التي يتم إرسالها بشكل عشوائي ومن ثم تؤثر على الرياضيات قليلاً؟
انظر على سبيل المثال الفرق بين هذه الأعداد:
يمكننا البحث عن المكان الذي يتم فيه حساب العدد 236 والتحول إلى ذلك ، ربما؟
لذلك يستخدم متغير مثيل تم إنشاؤه بواسطة وحدة التحكم:
أعتقد أن هذا هو المكان الذي يتم فيه حساب هذا:
مرحبًا jywarren ، ما يمكنني رؤيته في tag /: id أي صفحة العرض الخاصة بالعلامة هو أننا نعرض فقط ملاحظات البحث هناك وفي بطاقات الموضوعات ، نحاول عرض ملاحظات البحث + الأسئلة.
لذلك ، أعتقد أن ما يتعين علينا القيام به هو أننا نحتاج إلى إحضار الملاحظات بنفس الطريقة التي نقوم بها في العلامة # show ولعرض العدد في الجزء السفلي من بطاقة الموضوع ، سنحتاج فقط إلى استخدام هذا التعبير الرياضي:
عدد الملاحظات مع tagname-Count للملاحظات المعروضة في بطاقة الموضوع
نحتاج إلى إحضار الملاحظات بنفس الطريقة التي نستخدمها في العلامة # show
مرحبًا ، هذا صحيح تمامًا! مع الإشارة إلى مفهوم "مصدر واحد للحقيقة" هنا: https://github.com/publiclab/plots2/issues/6855#issuecomment -578331475
أعتقد أننا يجب أن نستخدم نفس الحسابات هنا: https://github.com/publiclab/plots2/pull/7476 (بناءً على # 6855).
@ urvashigupta7 شكرا جزيلا لك على
أعتقد أيضًا أنه في https://github.com/publiclab/plots2/pull/7476/ ، لا نقوم بتصفية البريد العشوائي. لذا في هذه السطور ، من المحتمل أن نضيف .where(status: 1)
:
يعتمد هذا الرمز أيضًا على هذا ، والذي لا يقوم بتصفية البريد العشوائي:
وبالمثل ، يحتاج هذا الرمز أيضًا إلى تصفية البريد العشوائي باستخدام نفس الفلتر:
همم. يبدو أننا نقوم بتصفية البريد العشوائي من الحساب @total_posts
، لأنه يعمل / بعد / هذه الأسطر:
ومع ذلك ، لا يوجد الفلتر Tag.counter
و Node.for_tagname_and_type
. ربما هذا هو المخالفة؟
أعتقد أن العد هنا لا يزال غير صحيح. على سبيل المثال ، يسرد https://stable.publiclab.org/tags الآن 692 منشورًا لـ balloon-mapping
ولكن إليك إحصائيات هذه العلامة (ثابتة):
أعتقد أننا بحاجة إلى الاعتماد على هذا الإصلاح: https://github.com/publiclab/plots2/pull/8245
ثم يمكننا التحقق من هذا مرة أخرى. إعادة الفتح للحظة ... الأصابع 🤞
https://github.com/publiclab/plots2/pull/8245 انتهى الآن! ولديها اختبارات الوحدة ، لطيفة جدًا. حسنًا ، قد يعمل هذا الآن ...
حسنًا ، تقول 573 posts »
- حسنًا
ملاحظات البحث 469
الأسئلة 37
صفحات ويكي 77
الناس 346
أعني ، الملاحظات بالإضافة إلى الويكي = 546 ...؟ و بالإضافة إلى الأسئلة هو 583؟
الآن ، بعد اختبار العلامة tests
على مستقر ، أشك في احتمال وجود بعض التخزين المؤقت. إضافة هذه العلامة إلى ملاحظة جديدة ، https://stable.publiclab.org/notes/aidanswope/05-21-2019/angel-s-point-balloon-map-updated ، لم ينتج عنها علامة تبويب الملاحظات القادمة من من 7 إلى 8 ، على الرغم من أن tag.count
تُرجع 8 كما تفعل نتيجة tag.run_count
مع الإشارة إلى الرابط https://github.com/publiclab/plots2/issues/8244
حسنًا ، تتبع عدد علامات التبويب:
Node.where(status: 1, type: 'note').includes(:revision, :tag).references(:term_data, :node_revisions).where('term_data.name = ? OR term_data.parent = ?', 'balloon-mapping', 'balloon-mapping').where.not(nid: qids).count
=> 470
مقابل عدد بطاقة الموضوع:
NodeTag.joins(:node).where(tid: 10).where('node.status = 1 AND node.type = "note"').where.not(nid: qids).count
=> 467
😭
هؤلاء الثلاثة هم الفرق: [6129, 7236, 7414]
-
[#
و
و
]
غريب جدا! لسببين: 3 ملاحظات مختلفة عن 10 ملاحظات مفقودة (أعتقد أننا لم ننظر إلى الأسئلة بعد) ، ويبدو أن هذه الثلاثة طبيعية باستثناء تلك التي كانت في فبراير 2013 و 2 كانت في مايو 2013:
(تحديث: انظر أدناه للحصول على أسماء مكررة)
مثير للاهتمام أيضًا:
Node.where(status: 1, type: 'note').includes(:revision, :tag).references(:term_data, :node_revisions).where('term_data.name = ? OR term_data.parent = ?', 'balloon-mapping', 'balloon-mapping').where(nid: qids).count
=> 29
هذا يتفق مع:
NodeTag.joins(:node).where(tid: 10).where('node.status = 1 AND node.type = "note"').where(nid: qids).count
مقابل 37 كما هو موضح في علامة التبويب ، والتي يتم حسابها باستخدام:
آها! يوضح هذا القسم الأخير أن المشاركات التي تم وضع علامة عليها question:balloon-mapping
متضمنة في هذا العدد حتى لو لم يكن لديهم علامة balloon-mapping
!!!
يبدو أن المشاركات الثمانية التالية تحتوي على question:balloon-mapping
ولكن ليس balloon-mapping
:
[13556, 15762, 16426, 18994, 20694, 11301, 12251, 19625]
حسنًا ، هذا يقودنا إلى ما بين عقدتين. الآن دعنا نقارن فقط يدويًا:
irb(main):040:0> NodeTag.joins(:node).where(tid: 10).where('node.status = 1 AND node.type = "note"').count
=> 496
irb(main):041:0> Node.where(status: 1, type: 'note').includes(:tag).references(:term_data).where('term_data.name = ?', 'balloon-mapping').count
=> 499
irb(main):022:0> Node.where(status: 1, type: 'note').includes(:revision, :tag).references(:term_data, :node_revisions).where('term_data.name = ? OR term_data.parent = ?', 'balloon-mapping', 'balloon-mapping').collect(&:nid)
=> [146, 253, 254, 268, 403, 511, 724, 732, 743, 913, 1482, 1489, 1620, 1626, 1627, 1632, 1715, 1849, 1968, 1994, 2126, 2138, 2144, 2476, 2589, 2930, 3115, 3325, 4649, 4952, 5038, 5220, 5250, 5978, 6934, 7050, 7189, 7294, 7314, 7491, 7577, 7593, 7995, 8189, 8907, 8913, 8914, 8950, 9019, 9032, 9042, 9086, 9417, 9434, 9742, 9888, 9977, 10541, 11019, 11100, 11223, 11574, 11582, 11827, 12201, 12240, 12491, 12619, 12708, 13095, 13424, 13945, 14022, 14095, 14183, 14185, 14219, 14515, 14572, 14587, 14597, 14600, 14611, 14620, 14813, 14907, 14909, 14983, 15545, 15568, 16591, 16653, 16746, 16877, 18316, 19153, 19272, 19462, 19558, 19578, 19620, 19762, 20331, 23549, 24101, 24102, 1795, 6635, 347, 369, 439, 444, 792, 861, 1665, 1668, 1962, 2135, 2143, 2152, 2245, 2277, 2783, 2784, 3563, 3635, 3670, 4482, 4516, 4755, 4760, 4923, 4925, 6059, 7641, 10181, 10489, 11101, 11724, 13243, 13880, 13948, 17322, 64, 166, 202, 344, 1666, 1816, 1818, 1819, 2919, 3354, 3736, 3821, 4087, 8020, 8947, 9301, 11199, 11260, 11261, 11755, 12161, 1544, 1739, 1742, 1892, 2006, 5494, 9353, 10705, 828, 1515, 1786, 1877, 1926, 1949, 2121, 2625, 2666, 2677, 2846, 2892, 2961, 4092, 4907, 5394, 5415, 5664, 7132, 7367, 7368, 7717, 7964, 8400, 10243, 6175, 9507, 4636, 6293, 3014, 6624, 9806, 10289, 10554, 11278, 11391, 12104, 12622, 12894, 13143, 9935, 10036, 10196, 10450, 11283, 11719, 11769, 12237, 10246, 10605, 2462, 9497, 1889, 2131, 2443, 3026, 4127, 4252, 4673, 5538, 5893, 6608, 8034, 8902, 8959, 9644, 9707, 10045, 10162, 10335, 10336, 10337, 10373, 10540, 10570, 11107, 11110, 11112, 11124, 11143, 11175, 11298, 11336, 12053, 12203, 12590, 16984, 19515, 19580, 23822, 2163, 3634, 7620, 10166, 11056, 11319, 11589, 1541, 1652, 1676, 1677, 1746, 2154, 2237, 2275, 2311, 2623, 2785, 3454, 3652, 3822, 4014, 4691, 4720, 4950, 5161, 7785, 8866, 8926, 8928, 8937, 8958, 8986, 9759, 9915, 10101, 10230, 10244, 10302, 10311, 10374, 10523, 10602, 11021, 11078, 11103, 11253, 11726, 11988, 12686, 12752, 12757, 13400, 13845, 14116, 14660, 14713, 14756, 1716, 2660, 7191, 7192, 1743, 1636, 1900, 9317, 10651, 1741, 13904, 3096, 2352, 2824, 4091, 2715, 6080, 6082, 2732, 3801, 3908, 4545, 7121, 10284, 13791, 10631, 4921, 6751, 9429, 9743, 11577, 17331, 6073, 9858, 10711, 11118, 6525, 10267, 9034, 11252, 11268, 8033, 8868, 10159, 10214, 9027, 9785, 9033, 9076, 9299, 14501, 14508, 14562, 21733, 10282, 9909, 11178, 11738, 10024, 12667, 11262, 11343, 11978, 11983, 11992, 11826, 11061, 10227, 10428, 11077, 11131, 11137, 11280, 11281, 11518, 11551, 11807, 11812, 11947, 12039, 14158, 14729, 14943, 15641, 16273, 16349, 18560, 19269, 19286, 21547, 10343, 14852, 14901, 15352, 15387, 10612, 10638, 10986, 10994, 20181, 11002, 11127, 11128, 11183, 12166, 11342, 11494, 11955, 11673, 11707, 11711, 12190, 18839, 13802, 14595, 12227, 15912, 14007, 13093, 13096, 12981, 13102, 13160, 13194, 13196, 13227, 13242, 13267, 13278, 13281, 13298, 14168, 15161, 23143, 14058, 14766, 13748, 13839, 15603, 14241, 14179, 14239, 14246, 14240, 14255, 14488, 14487, 14245, 14785, 15160, 14703, 14995, 16571, 15172, 15179, 15424, 15713, 15732, 16141, 16284, 16334, 16382, 17387, 17498, 17499, 18498, 16960, 19689, 17815, 19394, 19464, 19650, 19955, 19476, 19477, 23203, 6129, 7236, 7414]
ضد:
irb(main):024:0> NodeTag.joins(:node).where(tid: 10).where('node.status = 1 AND node.type = "note"').collect(&:nid)
=> [146, 253, 254, 268, 403, 511, 724, 732, 743, 913, 1482, 1489, 1620, 1626, 1627, 1632, 1715, 1849, 1968, 1994, 2126, 2138, 2144, 2476, 2589, 2930, 3115, 3325, 4649, 4952, 5038, 5220, 5250, 5978, 6934, 7050, 7189, 7294, 7314, 7491, 7577, 7593, 7995, 8189, 8907, 8913, 8914, 8950, 9019, 9032, 9042, 9086, 9417, 9434, 9742, 9888, 9977, 10541, 11019, 11100, 11223, 11574, 11582, 11827, 12201, 12240, 12491, 12619, 12708, 13095, 13424, 13945, 14022, 14095, 14183, 14185, 14219, 14515, 14572, 14587, 14597, 14600, 14611, 14620, 14813, 14907, 14909, 14983, 15545, 15568, 16591, 16653, 16746, 16877, 18316, 19153, 19272, 19462, 19558, 19578, 19620, 19762, 20331, 23549, 24101, 24102, 1795, 6635, 347, 369, 439, 444, 792, 861, 1665, 1668, 1962, 2135, 2143, 2152, 2245, 2277, 2783, 2784, 3563, 3635, 3670, 4482, 4516, 4755, 4760, 4923, 4925, 6059, 7641, 10181, 10489, 11101, 11724, 13243, 13880, 13948, 17322, 64, 166, 202, 344, 1666, 1816, 1818, 1819, 2919, 3354, 3736, 3821, 4087, 8020, 8947, 9301, 11199, 11260, 11261, 11755, 12161, 1544, 1739, 1742, 1892, 2006, 5494, 9353, 10705, 828, 1515, 1786, 1877, 1926, 1949, 2121, 2625, 2666, 2677, 2846, 2892, 2961, 4092, 4907, 5394, 5415, 5664, 7132, 7367, 7368, 7717, 7964, 8400, 10243, 6175, 9507, 4636, 6293, 3014, 6624, 9806, 10289, 10554, 11278, 11391, 12104, 12622, 12894, 13143, 9935, 10036, 10196, 10450, 11283, 11719, 11769, 12237, 10246, 10605, 2462, 9497, 1889, 2131, 2443, 3026, 4127, 4252, 4673, 5538, 5893, 6608, 8034, 8902, 8959, 9644, 9707, 10045, 10162, 10335, 10336, 10337, 10373, 10540, 10570, 11107, 11110, 11112, 11124, 11143, 11175, 11298, 11336, 12053, 12203, 12590, 16984, 19515, 19580, 23822, 2163, 3634, 7620, 10166, 11056, 11319, 11589, 1541, 1652, 1676, 1677, 1746, 2154, 2237, 2275, 2311, 2623, 2785, 3454, 3652, 3822, 4014, 4691, 4720, 4950, 5161, 7785, 8866, 8926, 8928, 8937, 8958, 8986, 9759, 9915, 10101, 10230, 10244, 10302, 10311, 10374, 10523, 10602, 11021, 11078, 11103, 11253, 11726, 11988, 12686, 12752, 12757, 13400, 13845, 14116, 14660, 14713, 14756, 1716, 2660, 7191, 7192, 1743, 1636, 1900, 9317, 10651, 1741, 13904, 3096, 2352, 2824, 4091, 2715, 6080, 6082, 2732, 3801, 3908, 4545, 7121, 10284, 13791, 10631, 4921, 6751, 9429, 9743, 11577, 17331, 6073, 9858, 10711, 11118, 6525, 10267, 9034, 11252, 11268, 8033, 8868, 10159, 10214, 9027, 9785, 9033, 9076, 9299, 14501, 14508, 14562, 21733, 10282, 9909, 11178, 11738, 10024, 12667, 11262, 11343, 11978, 11983, 11992, 11826, 11061, 10227, 10428, 11077, 11131, 11137, 11280, 11281, 11518, 11551, 11807, 11812, 11947, 12039, 14158, 14729, 14943, 15641, 16273, 16349, 18560, 19269, 19286, 21547, 10343, 14852, 14901, 15352, 15387, 10612, 10638, 10986, 10994, 20181, 11002, 11127, 11128, 11183, 12166, 11342, 11494, 11955, 11673, 11707, 11711, 12190, 18839, 13802, 14595, 12227, 15912, 14007, 13093, 13096, 12981, 13102, 13160, 13194, 13196, 13227, 13242, 13267, 13278, 13281, 13298, 14168, 15161, 23143, 14058, 14766, 13748, 13839, 15603, 14241, 14179, 14239, 14246, 14240, 14255, 14488, 14487, 14245, 14785, 15160, 14703, 14995, 16571, 15172, 15179, 15424, 15713, 15732, 16141, 16284, 16334, 16382, 17387, 17498, 17499, 18498, 16960, 19689, 17815, 19394, 19464, 19650, 19955, 19476, 19477, 23203]
اها. ربما هذا:
Tag.where(name: 'balloon-mapping').length => 4
Tag.where(name: 'balloon-mapping').collect(&:tid) => [10, 3205, 3591, 4032]
نعم ، هذا هو التناقض:
irb(main):045:0> NodeTag.joins(:node).where(tid: [10, 3205, 3591, 4032]).where('node.status = 1 AND node.type = "note"').count
=> 499
irb(main):046:0> Node.where(status: 1, type: 'note').includes(:tag).references(:term_data).where('term_data.name = ?', 'balloon-mapping').count
=> 499
irb(main):050:0> Tag.where(name: 'balloon-mapping').collect(&:count)
=> [574, 1, 1, 1]
ومع ذلك ، لا سيما بالنسبة إلى البق method
أو project
في # 7334
irb(main):047:0> Tag.where(name: 'method').collect(&:tid)
=> [14474]
irb(main):048:0> Tag.where(name: 'project').collect(&:tid)
=> [14751]
حسنًا ، أصلحت العلامات المكررة باستخدام:
irb(main):053:0> NodeTag.where(tid: [3205, 3591, 4032]).each do |nt|
irb(main):054:1* nt.tid = 10
irb(main):055:1> nt.save
irb(main):056:1> end
ومع ذلك أراهن أن هناك المزيد في قاعدة البيانات. قد نرغب في القيام بمشروع أكبر لتوحيد هذه.
تحديث: نعم ، هناك 28 حالة أخرى:
irb(main):063:0> Tag.count
=> 18532
irb(main):065:0> Tag.all.collect(&:name).uniq.count
=> 18504
irb(main):069:0> (Tag.all - Tag.all.group(:name)).collect(&:name)
=> ["fold-up", "gulf-coast", "kite-mapping", "gulf-coast", "brooklyn", "new-york-city", "balloon-mapping", "spectrometer", "farmhack", "white-balance", "fresh-kills", "balloon-mapping", "balloon-mapping", "kite-mapping", "newsletter", "newsletter", "passenger-pigeon", "jamaica-bay", "mobile-spectrometer", "infragram-sandbox", "mailing-lists", "diy-kite", "water-sensing", "carbon-arc", "diy-kite", "diy-kite", "workplace", "emergencies"]
توصيتي الآن هي:
لقد قلصنا هذا كثيرًا ، وهو يتكون من جزأين.
question:_____
، والتي يتم احتسابها ضمن علامة تبويب الأسئلة في صفحات /tag/____
، ولكن إذا لم يكن لديهم علامة أساسية خاصة بهم ، فلا يتم احتسابهم في بطاقات الموضوعات. مثال: 8 منشورات بها question:balloon-mapping
ولكن ليس balloon-mapping
، لذا فإنها تزيد من عددنا بمقدار 8.رأيي (2) هو أننا يجب أن نكتبها وأن نكون على دراية بها ، لكن لا نحلها (لا يمكنني التفكير في حل نظيف على أي حال).
وحتى بعد كل هذا البحث ، لا يزال لدي تباين قدره 1 مقابل balloon-mapping
. لكنني أعتقد أننا قريبون جدًا لدرجة أننا يجب أن نكون موافقين بشكل أساسي على ذلك ، لأنه أحد أكبر العلامات ومن غير المرجح أن تؤثر هذه المشكلة على الآخرين. مهتم بسماع رأي الآخرين في ذلك أيضًا!
التعليق الأكثر فائدة
مرحبًا ebarry ، أعتقد أن هذه مشكلة أكثر خطورة في الواقع: sweat_smile: لقد أجريت تغييرات لهذا هنا https://github.com/publiclab/plots2/pull/7609 لكن لابد أنني أفسدت الأمر وحسّبت العدد الخاطئ. فكر: محبط: التكرار في jywarren @ قد يحتاج آسف إلى بعض المساعدة لإصلاح هذا: sweat_smile: