KamoCRM

İçerik json'u kamu ağacı indeksini inşa etmek ve iki kez yüklemeyi durdurmak

PerformanceKBService
Shiked
23 Eylül 2026 02:17 UTC
Yazar
Kamo
Commit
155e7de

buildPublicTreeIndex küçük bir yapısal indeks (baba/çocuk, slug yolu, ataları) inşa ediyor org'daki her halka açık makale, ancak bunu yapmak için tam KbMadde satırları yüklemekti - content json dahil olmak üzere, -6.6 KB bir satırın geri kalanı için birkaç yüz kata karşı sıralanmıştır. Ağaç indeksi ve her şeyin alt noktası (her listedeki alıntı / kutu Node, yol ve yol ve ata kararı) asla content json okumaz; sadece tek bir makale onu serileştirir ve bu Bir satır zaten kendi ayrı bakışlarından geliyor. 300 yıllık bir organizasyon ağacı / liste /single Cevap -2 MB vücut metni veritabanından hemen her şey için atlamak içindi, ancak Bir satır. ****************, indeksin aslında adı ile okuduğu her şeyi seçer (a) JPQL projeksiyon sorgu, bir repository yöntemi değil – KbMadRepository, kamo-shared-library, Burada kapsamın dışında) ve varlığın kendi inşaatçısı aracılığıyla gerçek Kb Madde örnekleri inşa eder, Oturuma asla devam etmedi veya eklenmedi. PublicTreeIndex'in her mevcut okuyucusu çalışmaya devam ediyor değişmeden;ContentJson() bunlardan birinde, yalnızca bu kod için önemli olan sadece çıplaktır. Onu serileştirin ve tek bir pasaj okuma dışında hiçbir şey yapmaz. Ayrı ayrı olarak, /tree-by-bevey-slug hem ******************** (Bu kendi kendini yükledi Aynı çocuk haritasını yeniden inşa etmek için her kamusal makalenin kopyalanması,PublicTreeIndex zaten inşa ediyor) and buildPublicTreeIndex – one request, the full org-wide article list installed twice. Eski şimdi Aramacının zaten yeniden inşa etmek yerine bir parametre olarak inşa ettiği indeksi alır. Ayrıca,Refs (breadcrumbs ve "see also" bağlantıları, İngilizce olmayan) her bir ref'nin çevirilerini çözdü Re-ray the ref's guid back up to a Kb Article and then querying its Translation - iki sorgu Para karşılığında. Bir ref zaten şu anda isminin uidini taşıyor (KbMadRefDTO.uid, internal Sadece - @JsonIgnore, hiçbir zaman halkın cevabında değil, bu yüzden **************************** Bunun yerine bir listedeki her refleyi çözmek. Testler: KbMaddeServiceTreeIndexTest, projeksiyonun her alanı tam bir varlık yükü taşıdığını iddia ediyor (Joson hariç, iddia edilen null) ve ağacın /path/ancestor computation built Bu, tam zamanlı bir yükün üreteceği aynı üç seviyeli bir şekil - fikstür tabanlı Eski-vs-new check. **************** Fransızca ve Fransızca'da sona erecek egzersizler /by-slug end to end to end in French and Parlamlı görünümün guid round-trip ****************'in yerinin değiştirilmesini kanıtlıyor Hiçbir zaman bir ref için çağrılmadı.

Tüm değişiklikler

Kargoyu gördüğünüz gibi?

Tüm bunlar kendi başına iş alanınıza geliyor. Ücretsiz plana başlayın ve bu sayfayı bir ay içinde tekrar okuyun.

Sonsuza Kadar Ücretsiz BaşlangıçFırsatları Görüntüle