- Expediere
- 23 septembrie 2026 la 02:17 UTC
- Autor
- Kamo
- Comite
- 155e7de
construcţie PublicTreeIndex construieşte un mic index structural (parinte/copil, cale de glonţ, strămoşi) din fiecare articol public în org, dar a fost încărcarea completă KbArticle rânduri pentru a face acest lucru incluse, măsurate la ~6.6 KB pe rând față de câteva sute de octeți pentru restul unui rând combinat. Indexul copacului şi tot ce este în aval de el (excerptul de pe fiecare listă / nod de copac, calea şi rezoluția strămoșului) nu citește niciodată conținut json; doar un singur articol o serializează, și că un rând deja vine din propria căutare separată. Arborele/lista/singurul unei organizații de 300 de articole Răspunsul a fost ~2 MB de text corp din baza de date pentru a arunca imediat pentru toți, dar Un rând. ***************** selectează tot indexul chiar citește după nume (a) Interogatoriul de proiecție JPQL, nu este o metodă de stocare a datelor în afara domeniului de aplicare aici) și construiește cazuri reale de KbArte din rânduri prin intermediul constructorului propriu al entității; nu a persistat sau atașat la sesiune. Fiecare cititor existent al PublicTreeIndex continuă să lucreze neschimbate; obțineContentJson() pe una dintre acestea este pur și simplu nulă, care contează doar pentru a coda că Serializate, și nimic în afara unui singur articol citit nu. Separat, /tree-by-parent-slug numit ambele *************** (care şi-a încărcat propriul corp) copie a fiecărui articol public pentru a reconstrui aceeași hartă copii construi publiceTreeIndex construiește deja) și de a construi publicTreeIndex Prima acum ia indexul apelantului deja construit ca parametru în loc să-l reconstruiască. De asemenea, traduceRefs (breadcrembs and "see also" links, non-English) rezolvat fiecare ref traducere prin re-căutarea guid arbitrului înapoi până la un KbArticle și apoi interogarea traducerea sa per ref. Un arbitru deja poartă uid-ul articolului pe care îl numește acum (KbArticleRefDTO.uid, intern doar @JsonIgnore, niciodata in raspunsul public), asa ca *************** rezolvă fiecare arbitru dintr-o listă dintr-o singură cerere în lot. Teste: KbARTYServiceTreeIndexTest afirmă că proiecția poartă fiecare câmp o sarcină completă a entității ar fi (contentul Json exclus, declarat nul) și că calculul copac/cale/cancer construit din aceasta este aceeași formă de trei nivele o sarcină de entitate completă ar fi produs Un cec nou. Nu-ţi face griji. exerciţii /de-încheiere în franceză şi Dovedeşte că căutarea pe loturi înlocuieşte excursia cu guidele. nu a cerut un arbitru).
