Tampaknya ada tanda "-" kecil sebelum jumlah kiriman di Kartu Topik saat opsi penyortiran "# Orang" diklik, membuatnya tampak seperti ada jumlah kiriman negatif. Lihat tangkapan layar:
Apa yang Anda harapkan untuk melihat bahwa Anda tidak?
saya berharap untuk melihat bilangan bulat positif.
https://publiclab.org/tags?sort=followers&order=asc
Ini dapat membantu kami mendiagnosis masalah:
liz
Adakah yang punya tautan kode yang bisa mereka tambahkan di sini? Terima kasih sebelumnya!
Hei @ebarry Saya pikir ini adalah masalah yang lebih serius sebenarnya :sweat_smile: Saya telah membuat perubahan untuk ini di sini https://github.com/publiclab/plots2/pull/7609 tapi saya pasti telah mengacaukannya dan menghitung hitungan yang salah saya pikir :kecewa: Perulangan di
Hai @Tlazypanda, bisakah kita melihat tempat lain di mana kode jenis Tag.counter
digunakan, dan mencoba untuk beralih ke itu?
https://github.com/publiclab/plots2/pull/7609/files#diff -8fe92870a7f027a46eed82a51c5c16bcR118
Namun, hitungannya sangat sedikit. Saya bertanya-tanya apakah ini masalah beberapa hal yang di-spam dan kemudian sedikit memengaruhi matematika?
Lihat misalnya perbedaan antara jumlah ini:
Kita bisa mencari di mana hitungan 236 dihitung dan beralih ke itu, mungkin?
Jadi itu menggunakan variabel instance yang dihasilkan pengontrol:
Saya percaya ini adalah di mana ini dihitung:
Hai @jywarren , apa yang bisa saya lihat di tag/:id yaitu tampilan untuk tag adalah bahwa kami hanya menampilkan catatan penelitian di sana dan di kartu topik, kami mencoba menampilkan catatan+pertanyaan penelitian.
Jadi, saya pikir apa yang perlu kita lakukan adalah kita perlu mengambil catatan dengan cara yang sama seperti yang kita lakukan di tag#show dan untuk menampilkan hitungan di bagian bawah kartu topik kita hanya perlu menggunakan ekspresi matematika ini:
Jumlah catatan dengan nama tag-Jumlah catatan yang ditampilkan di Kartu Topik
kita perlu mengambil catatan dengan cara yang sama seperti yang kita lakukan di tag#show
Hai, itu benar! mencatat konsep "satu sumber kebenaran" di sini: https://github.com/publiclab/plots2/issues/6855#issuecomment -578331475
Saya percaya kita harus menggunakan perhitungan yang sama di sini: https://github.com/publiclab/plots2/pull/7476 (berdasarkan #6855).
@urvashigupta7 terima kasih banyak telah bergabung! Apakah Anda tertarik untuk melakukan perubahan ini?
Saya juga berpikir bahwa di https://github.com/publiclab/plots2/pull/7476/ , kami tidak memfilter spam. Jadi pada baris ini, kita mungkin harus menambahkan .where(status: 1)
:
Kode itu juga bergantung pada ini, yang tidak memfilter spam:
Demikian juga kode ini perlu juga menyaring spam dengan filter yang sama:
Hmm. Sepertinya kami memfilter spam dari perhitungan @total_posts
, saat menjalankan /setelah/ baris berikut:
Namun, filter Tag.counter
dan Node.for_tagname_and_type
. Mungkin itu ketidakteraturannya?
Hitungan di sini masih kurang tepat, saya pikir. Misalnya https://stable.publiclab.org/tags sekarang mencantumkan 692 posting untuk balloon-mapping
tetapi berikut adalah statistik untuk tag itu (dalam stabil):
Saya pikir kita perlu bergantung pada perbaikan ini: https://github.com/publiclab/plots2/pull/8245
maka kita dapat memeriksa ini lagi. Membuka kembali sejenak... jari
https://github.com/publiclab/plots2/pull/8245 sekarang selesai! Dan memiliki unit test, sangat bagus. Oke, sekarang ini mungkin berhasil ...
Oke, katanya 573 posts »
-- hmm
Catatan penelitian 469
Pertanyaan 37
Wiki halaman 77
Orang 346
Maksudku, catatan plus wiki = 546...? dan ditambah pertanyaan adalah 583?
Sekarang, menguji tag tests
pada stable, saya curiga bahwa mungkin ada beberapa caching yang terjadi. Menambahkan tag itu ke catatan baru, https://stable.publiclab.org/notes/aidanswope/05-21-2019/angel-s-point-balloon-map-updated , tidak mengakibatkan tab catatan beralih dari 7 hingga 8, meskipun tag.count
mengembalikan 8 seperti halnya hasil dari tag.run_count
dan perhatikan tautan ke https://github.com/publiclab/plots2/issues/8244
Oke, jadi telusuri jumlah tab:
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
Dibandingkan dengan jumlah kartu topik:
NodeTag.joins(:node).where(tid: 10).where('node.status = 1 AND node.type = "note"').where.not(nid: qids).count
=> 467
😭
Ketiganya adalah perbedaannya: [6129, 7236, 7414]
--
[#
,
,
]
Sangat aneh! karena 2 alasan: 3 catatan tidak sama dengan 10 catatan yang hilang (saya pikir kita belum melihat pertanyaan), DAN, ketiganya tampaknya normal kecuali yang satu pada Februari 2013 dan 2 pada Mei 2013:
(perbarui: lihat di bawah untuk duplikat tagname)
Juga menarik:
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
Ini setuju dengan:
NodeTag.joins(:node).where(tid: 10).where('node.status = 1 AND node.type = "note"').where(nid: qids).count
vs. 37 seperti yang ditunjukkan pada tab, yang dihitung dengan:
Ah! Bagian terakhir itu menunjukkan bahwa posting yang diberi tag question:balloon-mapping
termasuk dalam hitungan itu meskipun mereka tidak memiliki tag balloon-mapping
!!!
8 posting berikut tampaknya memiliki question:balloon-mapping
tetapi tidak balloon-mapping
:
[13556, 15762, 16426, 18994, 20694, 11301, 12251, 19625]
OK, jadi itu membawa kita ke dalam 2 node. Sekarang mari kita bandingkan secara manual:
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]
vs:
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]
Aha. Mungkin ini:
Tag.where(name: 'balloon-mapping').length => 4
Tag.where(name: 'balloon-mapping').collect(&:tid) => [10, 3205, 3591, 4032]
Ya, itulah perbedaannya:
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]
Namun, terutama bukan untuk bug method
atau project
di #7334
irb(main):047:0> Tag.where(name: 'method').collect(&:tid)
=> [14474]
irb(main):048:0> Tag.where(name: 'project').collect(&:tid)
=> [14751]
Oke, saya memperbaiki tag duplikat dengan:
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
namun saya yakin ada lebih banyak di DB. Kami mungkin ingin melakukan proyek yang lebih besar untuk mengkonsolidasikan ini.
Pembaruan: ya, ada 28 contoh lain:
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"]
Rekomendasi saya sekarang adalah:
Kami telah mempersempit ini banyak, dan memiliki dua bagian.
question:_____
, yang dihitung di bawah tab pertanyaan pada halaman /tag/____
, tetapi jika tidak memiliki tag dasar sendiri, tidak dihitung dalam kartu topik. Contoh: 8 posting memiliki question:balloon-mapping
tetapi tidak balloon-mapping
, jadi mereka membuang hitungan kami dengan 8.Pendapat saya (2) adalah bahwa kita harus menuliskannya dan menyadarinya, tetapi tidak menyelesaikannya (lagi pula saya tidak bisa memikirkan solusi yang bersih).
Dan, bahkan setelah semua penggalian itu, saya masih memiliki perbedaan 1 untuk balloon-mapping
. Tapi saya pikir kami sangat dekat sehingga pada dasarnya kami harus setuju dengan itu, karena ini adalah salah satu tag terbesar dan masalah itu tidak mungkin memengaruhi orang lain. Tertarik untuk mendengar pendapat orang lain tentang itu juga!
Komentar yang paling membantu
Hei @ebarry Saya pikir ini adalah masalah yang lebih serius sebenarnya :sweat_smile: Saya telah membuat perubahan untuk ini di sini https://github.com/publiclab/plots2/pull/7609 tapi saya pasti telah mengacaukannya dan menghitung hitungan yang salah saya pikir :kecewa: Perulangan di