- Dikirim
- 23 September 2026 pukul 02.17 UTC
- Penulis
- Kamo
- Commit
- 155e7de
buildPublicComment TreeIndex membangun sebuah indeks struktur kecil (induk / anak, jalur siput, leluhur) dari setiap artikel publik di org, tapi itu memuat baris KbParticle penuh untuk melakukannya - content _ json termasuk, diukur di ~ 6.6 KB per baris terhadap beberapa ratus bytes untuk sisa gabungan baris. Indeks pohon dan segala sesuatu hilir dari itu (ekscerpt pada setiap daftar / titik pohon, path dan resolusi leluhur) tidak pernah membaca content _ json; hanya single - artikel baca serializes itu, dan bahwa satu baris sudah datang dari pencarian sendiri terpisah. Sebuah 300-artikel organisasi pohon / daftar / tunggal respon menarik ~ 2 MB teks tubuh keluar dari database untuk segera membuangnya untuk semua tetapi satu baris. * * * * * * * * * * * * * memilih segalanya indeks sebenarnya dibaca oleh nama (a Pencarian proyeksi JPQL, bukan metoda repositori - KbArticleRepositori tinggal di pustaka kamo- shared-, keluar dari lingkup sini) dan membangun nyata KbParticle instances dari baris melalui entitas 's pembangun sendiri, tidak pernah bertahan atau melekat pada sesi. Setiap pembaca yang ada dari PublicTreeIndex terus bekerja tidak berubah; getContentJson () pada salah satu dari ini hanya null, yang hanya penting untuk kode yang serialkan itu, dan tidak ada di luar tunggal - artikel membaca tidak. Terpisah, / tree- by- parent- siput disebut kedua * * * * * * * * * * * * (yang dimuat sendiri salinan setiap artikel publik untuk membangun kembali peta anak-anak yang sama build PublicPublicTreeIndex sudah membangun) dan buildPublicTreeIndex - satu permintaan, daftar artikel seluruh org- lebar dimuat dua kali. Mantan sekarang mengambil indeks pemanggil sudah dibangun sebagai parameter bukannya membangun kembali itu. Juga, penerjemah Refs (remah roti dan "lihat juga" link, bukan-bahasa Inggris) menyelesaikan setiap terjemahan ref dengan melihat kembali guid ref kembali ke sebuah KbParticle dan kemudian query terjemahan - dua query per ref. Wasit sudah membawa uid artikel yang dinamai sekarang (KbArticleRefDTO.uid, internal Hanya - @ JsonAbaikan, tidak pernah dalam respon publik), jadi * * * * * * * * * * * * * menyelesaikan setiap ref dalam daftar dalam satu backed IN query sebagai gantinya. Tes: KbArticleServiceTreeIndexTest menegaskan proyeksi membawa setiap bidang muatan entitas penuh akan (contentJson exceted, asserted null) dan bahwa pohon / path / forest komputasi dibangun dari itu adalah tiga tingkat yang sama bentuk full- muatan entitas akan dihasilkan - yang fixture- berbasis old-vs-new check. * * * * * * * * * * * * * * * latihan / by- siput berakhir dalam bahasa Perancis dan membuktikan lookup batch menggantikan guid bundaran-perjalanan * * * * * * * * * * * * * * * * * * * tidak pernah dipanggil untuk wasit).
