Database queries : update nodes set siblingOrder=siblingOrder+1 where depth=2 and l1=1 and siblingOrder>1 update nodes set siblingOrder=siblingOrder+1 where depth=1 and siblingOrder>1 6) update nodes set depth=depth+1, l3=l2, l2=l1, l1=14 where l1=1 or l1=2 ----------------------------------- 6) update nodes set depth=depth+1 where nodeOrder>=1 and nodeOrder<=4; update nodes set parent=14 where nodeOrder>=1 and nodeOrder<=4 and depth=2; # because depth depends on previous step # nodeOrder need to be fixed in other cases # nodeOrder=i2+range2*(nodeOrder+i1)/range1 #---------------------
بالنسبة للنموذج الثاني لدينا ما يلي
f(x)=ceiling(log2(x+1)) r=prarentR*1/2^f(childs_count+1) nodeOrder=parentNodeOrder+siblingOrder*r
وعند التحريك الجماعي العلاقة هي
nodeOrder2=(r2/r1)*(nodeOrder1-i1)+i2
حيث i هي الأزاحة عن البداية في الحالتين وإن كنا نريدها مباشرة فهي parentNodeOrder
أضيف إلى أنواع الوسوم المعرفة مسبقا
بدائل ل lucene على بايثون