From 0cba90c81d12c10eb2d9c02e9b0a2d1526e1c732 Mon Sep 17 00:00:00 2001 From: leekelleher Date: Tue, 3 Jul 2012 22:31:04 -0100 Subject: [PATCH] Examine: Updated assemblies to v1.4.2 (fixes an "Inheritance security rules violated" exception within TypeFinder) --- lib/Examine.dll | Bin 82432 -> 82432 bytes lib/Examine.xml | 750 -------------------- lib/UmbracoExamine.XML | 1502 ---------------------------------------- lib/UmbracoExamine.dll | Bin 32768 -> 33280 bytes 4 files changed, 2252 deletions(-) delete mode 100644 lib/Examine.xml delete mode 100644 lib/UmbracoExamine.XML diff --git a/lib/Examine.dll b/lib/Examine.dll index c238d7375c4bddcf2bcf28d8a0f12e8ca0eecae1..917f9c31093e7368eed7c6768e0a5eb1e60c85b2 100644 GIT binary patch delta 19618 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

CG>XQy6X#B#i~YRu)l?gM9i<9uY7&O7Y}#pZ zv1rr1z-xdu_6Rr%dyPuXnZnRd!Lc#9d8aADX5r-owVGcA=OS=yOluZ0Z-d5Kw6si+ z73KrlSapj~q~^8d+1NIs_qWt|6!r^}QCfveQS1LfW(H`5%^_St*h!_4R?)yUBy&rv z@WF;D&tZmbn{r)kE_-dt<5Ohzw<&9(r?P#giS2)Ft)C}xeD!q&-^FuS4!$*$_8(h! zy|m`DY6Kzn5bKrq=Qi*p zLw&i=%~}Y5S^vDYdVP+ez49TgZ@m{ElfSfo*ZLm5vZ?*^3^&`-{!l<>fzs(rW_Q&b z;4*u!R?z;^o0x~KZ&>J0aGq|S&N!3W0{DR7mbL?UpBVzm>}XqlhRpVr2>Ns4{A2%y z^H=iXH_CtGNMXN0oM&tYn_Rij~Ll|JUjsumTR z_htlzSThpre&rjE7|JwZA{@?c>aJp05Kh8KJ{S9y0Lg88MFKD-38<=UVxlJCEW>MRh zu^i;ymdbGwi;$H1x*TTjNcDP--B%Oyyd(V_Bbg|BS9(Ryv17GUG`=HXxU2pVEn`QZ z7xV$~xJXnPDuN>+$1}o4IuHl3JuAXea?rOuQK2agHz>tn7x|Q`9(%&nu1@fxfTr&-?=G3!Y%vE*2>&bY({Z-Gpo@4n{ zVYYx;*~g|-9dqqt)2l*~kmO0fYK)7{uS!jNjxDWfOuCsW{DyjVINq~~$!9wISVvWN zQV!(9?5I?md{I)T_QBrL=s?mTb~x!J=_vkf#obBo;y!AKccHl_lZK=+dv0ZY+uza$urr(s=Yv==@Y`4Xsz3Jh@V&SQ1U16>;USHRK1YgXE?9om%zVO9ZKG2 zFjQ}`ABB7~+hGV-|2}yKI1fbG7hnw}eNDdmn!IM@V%&G3$rqG8hAq`EDKDbuuPH~R zE2`fCE&MBn^i##kg}GKS6POjvf1&I%{J2`+J=N>jKEspM^=wG`MfKmo`CT>h2oK7h zqte^ew_!Y9j*9>~xe6;2<&lvj?v@M6xVc-Xzg~l9S zl)S~hA!I9!VgFNy zOzmmFNp+3hqf&L;40@T_G z+*`K`_#ojEgwFv-SgJz|%A~qKfPOtHk9k*-jm!B9wV!yc#y9Ie_jWFIIKg&19u5r!sb@F)`^{kVt_4TZaZ>(SD>*ANzhuPO~@0nQsSJkic-At|y)2iw; zbk#KshA}J=VpGVa*uB_e?W&U_fA zh*i*O5P`50jXmk_;u9Kw>c5!+VW+XN@vYREd`jawHj|&;_-^V3H2;w!y4iS1<437| z#+w@doZ4l4yz#H8oyKPyErE?t5oQ}e+Vn#5QT728y@7&eHfFRoTLNyL)_l8k)VQ?yiNF}^Y90<;46{CRxPfDVV~`y4 zj7{*Y3&^#|~J9TC!@oy&n9Xu)~#l19&H**m`k4pdB zyeI8p5^|efm%mJVl0=`Q>GLa+e3BIXhB$|bgN<8Dv2_=pNLUISqFO_coR|JC(eF~N zcllt&+37jZjOfWR{}DP+d`)_xX>Q9RJ|wMcxe4@nEq4L8wmgy^HtlG6I$ezMv*7Fk ze}v!Na!4vPb=CflwT=`O0!P!A8=r02>u)n1ZehVT(}yidz^_`;fTmU!oC%o;!F_1! zoZu&9iij@JC;eelPU{bYg{Gu}2k>OrU2sXzK~Ik_$m*{N7f>@Jys~w7u#mU44)NuB z!#v${cW{HLtM&1q;5-vN#;$DLVn4=qw!RiLO2WGiNi4Z-CX=n6rAT7_2Z?it_q2th zYzHaYWx94sMaC}EZBvH$*IZ1TLjLHKmW;1q>6y;25iD0aM`+6IF}*Y8w2UFtYG(P= zKnbaY%?9+Dvf6PV=W$YeyE$AoMZNO)VQ_SXOmf64;OJs+vPQ=q z;tYY_lQ2fuM|cTU*hBOP;j^TAjA(8Y4H%4~v39}{;*1e?m_%tOVT`bkaFB2h;V@xz zgpyIhF+wJb%2xSJ_EnNqUSxPSDVsQj;1ndc5_cMfq1&5I1H-G$(2?l$7gB+g85e(mlgP8V^y zz_BWQ#MwriZQ!&kgTxso93^BH(PW-Q3`9F&hb1alYbX<=;!7;TltH3zCmbexmT;8t z9YSUmbq$0$gn5LmgzbbKglh<6gqIKw5)NDKQK%TD49;yqXA`y(b`TB{4ikZLXpRvM>X<4dhoh8?60(3`b)*T55e^a#6OIzHbWxg3*h<(z7$Y1El2RSB z1wBgGnk(oI!WiKo;cza^|53`YJW@^AO4vadBOD|gCLASX`6N#`Tttl#vSLBA5-KGe z*0Gdi2s_FI9V@d>K{7}gHi;?_wi0#_#wH8?AmK3KC?N}zeAuoXdbq7d(8CSHX%yH> zIJGekZtoyEMtCW428kYSv}-dTsfvoB>1d|`A{-HkftGoS>j0-FNS!1aMWfx830 z349r-Nb5@5m*!1xnw&m8eR=wM>3h;&O#e9jv-Gdh+k?x48-hK-p9TLGtjm~|F()IE zab?Dh8INTg&PdLz+rQ?3*=RLQDa>H()G3qpN1oVciXM_?Gs(0Vr|3r0XP{-%=Rk{T zDL6LM2RO*fXIo8|n65JIG~H~v!*s9dVbe78+YX0Qah5xmIWKeWaPDzF?EKVO>U!Mu zsmqo$FKJ2AwMq9RznOfq@)M=iv%|B?Q{g?`+vxkDFY5b?&*IPU7y4KDQv<&Wq&23^ zNL!M2W!klAH>Uj|?H_5zbVvH+^y>68()-e{4(<&8G5A67&%xx3vog-j=*#$J#%mdQ znZ_8yAI^%jKaObLS~^=Z3Re6NXD@4)|8!1t4zoB{vqjE)w%b{PUq0v({H|v=y9V&P zm3`p4kA;(-VwdBD`~<@HlmpEwwQ(A9MEB;75G)*_Y~XiX=MNFS;K%G-|c(~zc<03 z!@lu7h2I>Mn~@LWmxbSr(mDPcrC$8D;kOgNTm5F99higq_pu3SPqEUp`&eh%R!QXF z$0s;{!f$JOBin}G%-zmL_5g^oU?Zyzt|qz>^t@o0Z%sc0!I!1%K$zcwvO9uN{sw+$ zWUPiEQT{yA=QE=GJ*4mLPk-*N@PxH%Hg$Jx+`Mqp`n8d^jku{fbJNDPY|%LOqO}|M z4}W=yHNP%At){K2Vp?h4)VA`{%9@Ir(zd#`s?u=XwD6Rg@`|aGPpRI2_BUr*4*cBA zuTYYk_kOVBw%s+;hxP`>4&=S^*8?4CTy~gooy^^RZ3F8j@Dto6E^C>Q6NvnB3w_ieKvRr+=)Z7zuQ{YdG% zT1RLjc_D{}g2rq#p$p?*|H)=4BbbTn2`+OZXPjZGo|nO1CxvS6C7joNeK@ikxTi6=x@yo6_vh2X0xR9y`-$Q!Th*c zCJazUkSf1nViG(;^dV7YIjY!&yWbE46PN0-LJD0aM?pT>Vl+!G%LzY92_HzJ6=VVf zcb9S{D*7z>p$(p=0e}H|s`RA@E0mdNIYXIggokH}`Suo4bbc`s8_J2}VYow$mnnUz z7;R;P$;{ocCoyVD-$56WAX1ulvA0kpm}qsNp^WF6KU4a|-veir@uj>R(_p>iG|Lur zXuZ-W>KU@}p^5B{4cVFG?uXtX`~}k~8tLZ)|2v7FncQ!3W*fN@8&P6cOG>|K;Ec&U zY=gEA%w{o!H%;c-;QahBFGeyy%ya9k+{5f%cfXa32`i>O^*&!R%1XaefZLUA;+UfS zP9^pfvebos@4!7_p4Z}(kX8Bv7K4pDbkYIRsgq8SHl4I#g2H5>uoNTZ0u5@wS$*zHsa-KPGeL24`tIC9Xto|mT(%^iK`*2NxSBAkx1NU$x&&7!SzLKBj zgeHi^uD4T3Z57YpR}U@yXOuIP^UPu~DzP{0=z2fKZ6E%M<=8(m zfPaM&;v)kqYj`z(Y2dmVJ^^MtR>No759$l@Ae=qmsO9l+R=C}tU%3>QcWEJ&><#7)_f#bp7yES3~A1|+TqH4f~l<@MZAURGXL ziF-E_$N$hZR>y0mVGDr&>ua9a35a{rRrtm5S!WC%IWJr^by3s)n=Zbv^P{5jQDmh@h4Nz**kK4Qu6WxFVu4j zA8 delta 19729 zcma)E3w%_?)t|X{_wIX>y_@W2lg*P5Hczs7zsQ3i4*_|<1ZyIqjUrdF@F~P(H^CS6 zQQ)d67HSZzMSM|IYEdDrZ9lEHqOBE6X(GO;)@oa8wTj<=&fSG*KW+1K|8wTdnKNh3 z%$z$j_hRf?bL?94mK)_yJ{;Y8Q>OIZ(yjL`<~wxGCzw-~au(Ecr4oG^pCJ9cP9NZX zffv9Of79`kn3>(*$JjTIF~$em8hNcgSF%Ra7_+Z)gH@Czg#ySFO_jP)>&npC5^z$_ za25#J8iON;GDM9;O{AG3zqq?vh-ZObZ$is4i7``AdLJcFc1}XsJ&Q|(Hn6%9taUOf z2+rUc4ys8-4N@pum*s|wa-nsjq~#%rj04!EJ~PypdQwg+uwRMfgBcSn;)l?eVyyr? zXK|8Mn*hS0ShNt*0;^Vtr1aDYyR}5IYDLH#SF~dNE;&*F!|WlnTr9!^a^&sZzZCX{K}IS7qK!(Vl2!%unv0it%o@C6cUnW}VR82# zzaZ|i*ht)})d+E=*rO_;T0xp@9#aTTEC!QMI%`)wl(~wNR5{cD%4xBN6w!(tY80)!jaKB-J`6ir(N~*`qD^3z z)XCZ;q#2QBpk3*MVWvn6Xop48T9KZxTT0M%a^;E1N{ONvv{5gO>N%}v>$z-+dbSe9 z7OyvEIG~7exKPqlmB~@z-n3iLD7P!V?#~h~OyZ$7VS~y~`@}G5#mGe_1MXJ*C~Ozm zDU^+1?%B!JMdwRrHE2`84ow4qtzo&?Ll$@=WCdt51)DLsTz^^d1cVLREI=P5jA@5O zphRYGvjq8UJ=2mKor6-N!+|e2YA*N=lO;3{={(b1Z9dYHDk)BBSXuTy41%FFT_{}$ zR!p#nAF>N`7K8T%H`~v;ncSs6X(@~@fz(&pV3^>v8WyZHQfgmYih5pCah=DcEd%M2 zZ2zB^Z2zB+wDVB`^~7Y%FFlOeXu@nXB?fiO#E4t0Z?=ZZmP0xw=220fTz#I~N92{B zl_*krE(S)f5&>Y9?sC?pT!MUDL{<_7%bZhe-$a2haE1PTXRRw982a2~&MV6-JSExyXvRuJ3h~uDn9zY9u+d1_V_SWt!kJj8VD75CfQt zF;C=5FcJ0EB5@Xbty*`YhKM{7Wa2^hjT0X0dM8YG84F*pcV`!z?frdH4^*2%>rkV_ zCrRDWvmMj>+!L0s7X=w1k!b$|kV0EUH!v#p$kl+N&<0?M$KZ!Hp5Yq|LxwRgY%hiF zcmjH)Zk-z0mgKucSaJ`1!XrIG89e*Y83XW?p(oVQf8+e^-#A_=F{o4vgEk2=y`pcz zxz{8WxXGsoArkpie>kZD6Zf5@;x9$JWkQn(K1nQejp$7xzOhiR$c~9`Mc#4?gIbn^ zUUjcZR1BPnoLYh<-%NdstLk2#;G3Y`C&Fi%)K>;u>FN3~931J>_aiztddh>^#F zVpymiDG~+Ku88SmFHl1LNE{~;EB(Xd2I`L#*#!RGO5|E3MJYuX028|hDm+4kb{)9> z%63V+9z;pKq}_m2yAc4zn*}dL(Y}SWd#5n9{WcgfjX`J&$kHlF6Rhqz z3AYiuBwIS`$g>X?Ic}{VtBj@{wh2rXz3x6U9A~BNiZS&iUy-76F}Lj{`gLjnIq|F* z36=W(-v;3VVV$-OP}HXjyi+zTBfnXs&;uCJA}nj+m9t9Egw`xcyG>MkQ0`95zLqg^ z+U+QmdVYxcK_qps=z7^`wpi%=HwnGVTRMSkNwG_39cMgHCnjdvelgST(4X|?c93b} zace1c*-k4FNt7V#u!OuAGkbBKL?dXW;&q8)Y_mKl4y6bgrBpHcuV{Co>Y4s6mbLHd z%_$QX?f_TPnt&y_lC~3RC>0fzQkUhl@;^f7_rSvxybFn?=K$$%L>55I2?3_mQr{n&P4V zh2r95sqbEJB0m5S$JG7!83jIROfIxn|4!<9zCd^TX7l^>6}}+(*{2N)0}CWMPSr@{ z3)$dzi-*%)zO{KP(138v-6F+iTcns7Z^kQ|Lc8?}e;MDWclvAj1HcLT5q~oBM=5_4 z`SLW8Z%Y&9ZD|wqAS@K0l(>vklC_8Q3p0FC1S~3Six-L%g_vE$o*HM1 z6l~06Vk5SZDv^SnXkl8MEmE*C2S^%Wm!w4s_9Jn2JF-Q>AVGkSSz<3bAw`6nd(RU* zgPcR;V|rGw#Q#-goxwozB-HCJG9l(21Qoej|5mUqg~se$Swk>Vq#iVF3f-jtF_^>m zY|Hc&iaDk-BXrm>vr;+clcReLltg}nvW=$h*FbA~^p?z2Lz;&kM?r~A!s0TdKOH08 zVJ7L`%;3x)L#+N7rhDWntPZcqW0K|WZc%;+CE62!?nxplJ_)LqEbD`j8Xgf!C>u-5 zV>+!|Ef&^c{q@Y=fA8MfEZ_88)P<2ov!Lq{u2|@do-rjFmZyTvqpqND_las)8E5M0 zpJ!gQ;L8q#P$(099J2;X3dUq;L3+)S$2?|9`h`=@EJ^*^?9vok$zmavSmNs%3-M>! zr>PEd;)%{Ad56{O4a=9%Z3l2!Sjqfq%e7-g59ih*AI>Y)-=lmu zPvm#yP0+XGC8K;7OH z^J0~W6szn7{o!%Gw4=fR6k=mcg(5}aQT@a?A3v&pIPMDNMTkUR(!ZJiG}rag@r%Sz3W8dB2jcWKpwr{@^`JB2 z^cK*;IDI$h%sBlR=&U&X9O!IYJX3N)Uq!}2nbY3bWAMmnZ=Xm!S!#CZpZbB4 zxr=*Yq-qnJ$l`j%Bs^)jE?3Q^lS4XYItmPz6yN;+H0+QUOrnfPt6PU z>dQ(q8icpMvifymm-H{A`qg8q=d1as{$OcF^lPhMFRFiPR3A5{dVyL%qlzw7i7r{j zlub}4e0`U05K2EYl>SPeUY4{Z?wx9(>W30KX}bs8MeenG?0u&p82VgDI}%PSR12vE zkK^lSmHuFvFFIEDIb(D?Jd^EFo2Yx1tgCLzN3W^q8NBT6BSGMcK`jE4f#H zzw&%OqR*^4m#64=RAqyHtg3K2cFfpG_RNDW)uj25YZ&+W=btO|(6t!ozolHPW}C<6 zQ#9-k?RVpmn1)meVeaANY0(1ugzAPgXNagZfj|r94xA zw|ack*qgw|MZbzWCks_eokqq)UW)rCQ6OAqrh+2e$;hk{(-Z5|^FlHPC6tZoxKGGI z;*fDqp9|t1Q9>82^RT0^7RV{{e9jZhTEz4%HBNqqzOyC}t$`8F;%Zf*R}l^wR*RW} zLeAI!_2&HrjH3ew}dTd;IhsL9{w8n?qi8&a& z@ecUiAu7<@3!~I2YX!vG0prh1mBG4v{{*l%7Ojy&3&c?QwM8Nch4dHeDz2CW;j!m1 zWJ4FA{LG!gnd2DFX*iCd9D95dn~gYB2m2)16vCz($Br|{lLj1_uoYhcEe#KY^kLif zo&$TCAM0!DQCEC!l8+_S&V9D1Ulk|lR`6XYe zsaxvlLU&5VRU1*-4t-BU#hl+kX=$6!(f3W^WhW+v@Uo;`jJ|}ZFwMwF;xICHbd5I{ zSb&f}e!{DiSQRZ_AK%zZ7Z^ePaAUr&Q0O}C?YR`ni<+gx2Jhp>ad|^%7_Xm-AfXil z9G1S-!a(s7@Dem0Dbbso^01&fn`+X?rnsKcI?1reA1T!zY6=+Md&h~RsyJaNkuqr8 z_=hPNE(;SPB#h*= zw^tbdhwoxo>19Z~!-*R817f_ris3)69q;(Y8e6h7AxNrE$OR|Z3H_x>Dd*v&l2Cpk z-)rvPjt&@8h-P^AnGSi(Mvt(`R>UUTaCi~pIMFZ`X1-}G?|XW6^SEg^LUW1D;wc^6 zF3K3YjQe6d-{4pB$oIKZaLef8A|^&$O!{SF@?U18k{qef?`kgc3iEo`Ktk#f==W=d z`tjz;yi(6@Dg4s4#g8C>z50rlO0SrsIK@wLC0+qVs`R^C@_mBuzvV6wXR*olWtZ#} zFH`m7E#vs%ZLQ;r#K;-PejHV5(6-0oU+Tr^d6ZkbD(=Qh+tbQAF)M2IIjwm$b&x>3 zSp$w%51QUnG=LDVD4xYU)f$mG^PVF9Hd4R0wIv;w_x9M8u((e^s0o|85LQibqsqG7g)yFcwD+O`;{ zqCX|x@afjcl~Lh<64lhLx)XN{bck?thro!x9vf3?_{w1sp0a4w&>reRXHDHdP1G-` z9+NT7XXD0l?m>fRZX>+cD1z=en6B+ud66;l ze3t%=skLJ@fb;Cs+5nFIcDvc>a}}prZFf49fQ8J^L@NQCDb$Q%R2g}RK_g}^dsk% zs|&<2(7;w(dsYTBJ)e^U@ZRAZ9$1yT^Ojl_sqpc7=YWH_gloh=%OALx_Q;EkUO4 zuke`Ac-74E0@7$#@g^K4*wuva92D<^LpT^H_BuQ^N%Z-d<@qG)RGo2A2Z?%3=8|Ni z!*~h2RL`B2mr5-b2ft*?(pe!l;)p$RK0sXZEY)wFRn2GUPtRJ>F3vIb;xam6*ozDL zB+6&?i9Ni%*w<&G)ZMq7QiaY`xDhcabg(juL|-}kT>oVVA7*;p zU92%NkJGG@Y`asj-RTeg4MQdx-ZroOYbN@8^MY6mj`@!@3l(0I58tiicyM>-G2dy$ z&(MQ=oIAz66>dBbWf73^&b;E7L`&Ht=JpKz^Z5biQbD z@U@EoR{v6`)q=Xel_IyozM}giibN&J-FIQ8cAo@9Rzh&2U+R7f89JfRqWo&nG^zWY zFN#)3h*GR26wMUT;rg#?!-t0#1+oXfN+Lt*{!2o2T=pklB^#8w3(v@gupP2T@<{s~ zUsWSr3a!$=yRc-Lm?%Yk(+F|C5jU9>3M=s{P$GV%lvd;~DhtiP^wKUBB4cU0uPB|0 z@P$C+n<(wwECLUrbIzi2XP01LS4xZ(iwbR*fnk>w?Q;FrMJ3+V$VILIXm~o}lF-tl z>CZ392?)L^G!qR*u1u6VB`Zpm#bqv>h7n-!x;e_?a?KLyjTC@l7_TCuqCPI33R=O`rmU{OwFhsUOJt} z^o>iiydsF>Ly;eocj9XHEv?~~>aQ&g8@rZ^;;(J6DIyO}Savz~hWfG^MI5q1{raz$ z6{Z`c$lJtb!Xdx}2(8oA^DFs)KK1NczX5&0K~TI)!HpeT zB+h{)UMX}V__8K2v{}F9f-L?m{r(Hm?cab^^fk*(`U@B2MRSqeD6bbTC{6BOpd$3N z0gTXtD1I|(7oR$GK>1>Ei0gR><6k;Wirj*-UXhVPhHKIc*C6r+8x(K{dz!x7okC%{fUz$aRD*P=^O_a?M!)dnGh-c*FFw#s~iiDxpg@w~A} zHmhx!_MI~=70(=7Q3NL6M0^B-M+SN)Sv@AJA?-CQo^#9=Z98gu%tjv(DDbY-lAU9G zP3kc@<275Z#4V9!Y$x&3LpT_(K5p0V?I@h&T!}Yv*!y0MbWc0z1?#%I)?6AvM_BM) z#%@%>TeN`f!TZ=`@WxGBG-C?VN05I+cXdw4eFQlKO@=7Ou9p~l8^0XTFpxgUS#w}f zXOa|sIJ`4l%byOzRQ6JMZJM3^4Vc9;E7qndth{2D+0N!v+-6qTV$cfHi1Tf5>}(J+ zcJ>_6pAcqL2CP}Ey0Wlx8oLOWOg`3Md6#t>(?Q$WW0n0@I~yi^mhg8`N=^WM>?4T! zm{cY3dBRbkoyparS~B6}YGKO!YGGEIT^JFmc9rL`1JysM&SQrOKdOGcI-O0ddCQZ| zCJ{~}Tvg*y?d%7&x0zM;V(mXN?d*fvsK|utQtIq%dYw>rKH)WWmxJ^DI??b+;!LQ& z&3usEQ!mzr=*=NE+92>9pvwNyaHB_Ms~T_g*x9R9LeI^O0`CT@>{0N?NrxMS4_r+` zb8(Y9U}x=3w?!dzF0ob-D++Y8T}>~-vHP1uW#1%WY1O3L%x<=H(*3|ofp&H)I4ZlJ zN-bH!&|iRKXMY4nSUyf8sMY);ICGl?e|58vIRsi|qs`+LmHh=6wX>ua!P3UHjkB|h zh`za{)~mAJEkfuWAcmmzUy#Xd6`TUXO2P)9oy}?$4O~hxSG5WsoI81E7}_RZUYE!2 zpR7+-*wM+WAn9tq&5Su{>;{1Rz&ooPJW0&q8~Jvg%X0BqntZ@~>Fv_WXK}meVLxQu zl8hU{D-cvX>;PL&xqafQj6K4xGRiOp9`-21%R2D~KYQ3?tY?hm!FcXkxW&VM#Coah zI{mY*aj7p=yy*0>VAW!`hb^vJ1>91#O0T|b)b>)v^{ObDcp&@oMxJ!MzS!qsX$=DR zG(4qutR!Iw*Zyv%hb?H|7f@KB zbQ)7wto9&R*i&_a_LtttyzHFDnf?T4uz4E%^7~d5-yU4mc93&6094pd+A=d0w!cKs z&k^V41HEgO^Wq;?Jnu|lzd_t*Y%8->&2*=-J@H(7)w8mX9g63A56D;gtx3U}9<`tO zvEoGq|AE4*&9>}c)Q|UN^Q%P&0aI=m@5|vC(~aD=hDY?-{ll`m`LOO8IFNmHvm?EV zcU&M!``LZX_3738fAP!|HGkdw=Wc(lPYj6ix8FeiV|igr3NF%uCLvof3PJWzgX9(yS4_V#Tp*;y&+}d!IY4F zQyOpN7-Ul4l+Gc83_Wj2vyB|v-rSh_mSkNo>W%U(`W0I<8kbdGf^aCl3I)&hcB?=0 zZRsi_$HQ%5l*Qt?6_mRrE;-n?PygxG8~C#aW^Ox_Y_T9NOU$9Wc31PO^!DAKMIYe( zlIX@}LK`beR-85_I9tJKW;XUwO1g6wm3oN3SGu;M%NZd0apFHilG~-^%Dwz3=m+@4 zC_U*sCbd?ca;|2JCp_a=$EH@QuA|cYO26wU7v1S(A7+K4SU%hG8`w4M%F0UDF=<0( zi|ZN~u@LxC%5v9!YUY%5L*;7MGoT}`?W`bqqw8i;dK)R-0eY8f59mjMLiIJoxt}=q z6K5Cu9{9W1-pU5{F-%n4Hu)9B?T!ZIQfvqb8Fm%pqrU!veEqv zJ6NT;bLHWxtKHk#YmTVdTXI zQ6bEZNp;CrCe717zNa+0CFv+Tp7gwQOqyQ3JLz@2mfFjgp}9wswo7G>jO1Ka?byq^ zs3SAjx2gw|XRvM6-vbIw?-I^HYu)yvd}`&sM^Oa z<~V5KUooU_sWvXmwb4wlq4__nyX18>0_4yUT^diiUZzx@^H;K?3 zy78$&!VI7o zwANRr9+Q&lH@i#X{XP$UoySw^*QCzlS@qq(^7^Y%KagAMHv#7ob`o9*oQGPs0Q>5< z0XGxgMz|9=%+j1Bd;sfAQ^$U0v8PUaC z8m9P0*{$v=zD_8 zqFfq9(%pC^u&=QPs5f2@{6XVZ{|wW!jo%m-kK z2wL-G5ePfc*rWa~e!B6He+LD^d8X8+m(ynOjHXN23|`yxhqO*Kf6^K4GOcJjnYPvx zX*!j*%%nH{C2gK*M-vaMgNiU)2Ya_9ZH8!=<@4v8vI7{JrgxPt{zg*)=ueu$tdLtL z2}!XO^SOJ{mZYtaKS$ZYLX+kNI_0U8mIQX0)=%mP>@^Kc>I!U^_DpJEkCV=>C{-Rd zJwEAh@+o!%ik?A1GdpT}Z4wW7_}?b&mX4Xqn;!{`vdPVl2d;rxC!HSPtASIHd^L5H zt!jP^rNRioe>)&lo6@f($(w;;4CRsL>FGC9XKo|@4&v|OQ86j*r%~L&Mf^M_{k-|k z^hZdDn_p4hOMikypQh>a97#Swihe_!vg`NvLnL-&4`{H^B;x$fJxLQ)g}9?O_v+R^eof7twJ%f}gE^Kgqb7&gDq;su@nryep{!To4! zW$;}xMMRhAqyAj;CoOA(0dvxXhwxkJ-xBjgF7m6|K(&O_K1gQ=%njHrpFmiX`TLkT^&A;x;_G z`$^GebJygO%+2PW$$R;yTuhuo{_V+inV-Va<*rW=EEl@=)0Ek2eq!?M%i)1*hP<`6iLYEvQxD?GCSpylkd))CzmzmN&M4l-Xv!xZ#Ji5eYM~;rKLjyR^Ao&YFd4C!O1+t?dO_+okR8CE(muw_LyQ zf!{`7Vh(2+`z{-i%h*14b9NciSvPPu+XOtoZU-Ks(qc9(s|;Twd>h!vb^zPiFM%_O zvw-O3>?k-Z*}n*rP~kjy1)BkUyXC)`DNgm9Q}gm9FQ<4A$J!03qFDvAEJ z5vzmfPNHK(_Y*xt^e&>05Is!v2+^ZNGg;{2vQV8vm`gZLUMb(0+)8vCVLM572s$cv z5-Ud7Pq>LH>>_%Y@TXK^lxS`e4ag?ZSUce`aYhL{%%ZfDFh>yl87$e+7I7E1aaKuLQANQJ2mqXY}*g-f%c!Y3-kU2<_u$8cr zFhf zTk{0nK^P+(B0NGkk{1=lY@EOx!dAi#!WiKY;Ss_SLY7bRghz@5JwnKeNm~h(5*{(I zlw=4y$^;!F94eEWMDr7=0%0p*2VtyS@P`PG5RMSCFv*8y{nR6EwSqp<47@CfD8X&?U!Xtzuglq~;48m4}K8IQ%>>!L0ju5h` zqI8Jx2;m4JnWlgI`kwPW?SDQ^2{-~}fi;1v1Gfh5 z4D1d(A9ycNl73P8ed+Fun(~a+jQJUtWZaqYlZ@9h{*>{4MpJNp@Ur0l1djwi2v%e^ zXHLyrow+G=vzTOFfXj80`7fXq z^9Mkyc@a2v^Bc^|@>!30lldm|ZRQ>3J?8t(kC@M~{N8DHIb6lAd9JAITdq4@54hfP z6}S($-*U@I)05^TZBE*g{F~(4)m>`6_gmg=-jdWMsnx!xj__*Ka&+{+vdjdZT zc$?DO(&waaO5dEmHT|XZf24nwZq6von3%CNV`Ikk!CQi_1V@6Wg0{>HGB3{DnE7<( zbD6;`Q;gw{vqJr&VLjDDS8OK1ivMx;1O2X_%#O~)zqVe^X1Vg&9j+4m@P*lRk%sZB#P1Nh&fCP^^e*F` zlx4gUzeV`<;I|XM!}yKjC#UxE`KdG6{Ag-F2poX%+Ye?eX*n9&$C`c1VT_sI;W~uh zG4N-yeD|4X5=U0mx6+a8F#pv*bhKV2sW{a!R16(gPtCo$k%238iLPDfxtw*6J%5PAUJ$K$7+gNzxlpU+K9k_pbOXk6$bgnoD zA1L5QS9VIWWJy)~MQYBGcrXqB!ct0A13Zf*5QSMxlI>hJ3zn>;sRWm=wCZHI)T^P*1I7J+4Y0DAztd(AbFXWTT(s!8wQt!csRO2 za=Wb}D{7`%OzJXqRjOwa<>Fim>~nki`>jaT{>^He8)E&vYX5ZxLL12oIW!a$2697q zeP&RxNSL>Hg~5e+ZnwJ1jgFviXh%I~F*vqF-fb1V+6o;CzQX}!6Fmulx80G>Y24;Att?;L!tkY@+c&0Vk$My!H=;eU0N*J7rQ?;5le@#W_Im7J9g@)Djqcw-TN z+w!lmtNIT{xOcn~qV{qJ{K@Bdf;LRnjAaa89Z$DwRq~@bD zIqEvHa`62Mo;7&9f<2?i zwIHU5)oQql!bL?DA79WZxyff&(2^Tii)A`+g%QZyl88oY(f-=O-YT9seuJd0Ro6=D zzy>LZzCRI!kHolH;LF(k>Uu0hjMm{Qo{nL9wTkB;`BxRsLy}d^7rNjRh{bMqkX*Ey zXY%U?cUJQ`eE;B|tNHHoTg2pwjaspA2F810e|IypI6imO8Q3Mt2lk4kHt_i1hFTutj}P8m z%WL@029MS9@i61_T0X@)e2F3NS0o9 z-Z={o{-X}jNC}r!)K`TE%Nls?T>M|e=7=4Fc&&=BBUw2<*(=9)(DN5eSy1-UgUU~$ z4^KTj_4qgE{{801@Kpg@*|1_!WL0-$MdX{EYu0FMR!q@WuD@c{nst#CedlTyMF#I{ z;1wy1JqG!h?fN{2|W62d6dj qnMeoq7T)3rvoidfj(U946V}5#-!_-i#~|<59rU#FzwoW)mj460<*ok! diff --git a/lib/Examine.xml b/lib/Examine.xml deleted file mode 100644 index a7d711af0f..0000000000 --- a/lib/Examine.xml +++ /dev/null @@ -1,750 +0,0 @@ - - - - Examine - - - -

- Override this method so that the Distinct() operator works - - - - - - - Override this method so that the Distinct() operator works - - - - - - Returns the key value pair for the index specified - - - - - - - Returns the value for the key specified - - - - - - - An interface representing an Examine Searcher - - - - - Searches the specified search text in all fields of the index - - The search text. - if set to true the search will use wildcards. - Search Results - - - - Searches using the specified search query parameters - - The search parameters. - Search Results - - - - Creates a search criteria instance as required by the implementation - - - - - - Creates a search criteria instance as required by the implementation - - The type of index (i.e. Media or Content ) - - - - Creates a search criteria instance as required by the implementation - - The type of data in the index. - The default operation. - - An instance of - - - - - Interface to represent an Examine Indexer - - - - - Forces a particular XML node to be reindexed - - XML node to reindex - Type of index to use - - - - Deletes a node from the index - - Node to delete - - - - Re-indexes all data for the index type specified - - - - - - Rebuilds the entire index from scratch for all index types - - - - - Gets/sets the index criteria to create the index with - - The indexer data. - - - - Uses the default provider specified to search - - - - This is just a wrapper for the default provider - - - - Uses the default provider specified to search - - - - - - - - - Reindex nodes for the providers specified - - - - - - - - Deletes index for node for the specified providers - - - - - - - Reindex nodes for all providers - - - - - - - Deletes index for node for all providers - - - - - - Creates search criteria that defaults to IndexType.Any and BooleanOperation.And - - - - - - Singleton - - - - - Simple class to store the definition of an indexed node - - - - - A collection of Examine Index Providers - - - - - Adds a provider to the collection. - - The provider to be added. - - The collection is read-only. - - - is null. - - - The of is null. - - or - - The length of the of is less than 1. - - - - - - - - Gets the enumerator. - - - - - - Returns an object that implements the interface to iterate through the collection. - - - An object that implements to iterate through the collection. - - - - - Gets the with the specified name. - - - - - - Gets the at the specified index. - - - - - - Simple search method which should default to searching content nodes - - - - - - - - - Searches the data source using the Examine Fluent API - - The fluent API search. - - - - - Creates an instance of SearchCriteria for the provider - - - - - - Creates an instance of SearchCriteria for the provider - - The max number of results. - The type of data in the index. - A blank SearchCriteria - - - - Creates an instance of SearchCriteria for the provider - - The max number of results. - The type of data in the index. - The default operation. - A blank SearchCriteria - - - - Config section for Examine - - - - - Gets the instance of the Examine settings. - - The instance. - - - - Gets the search providers. - - The search providers. - - - - Gets the index providers. - - The index providers. - - - - Base class for an Examine Index Provider. You must implement this class to create an IndexProvider - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The indexer data. - - - - Initializes the provider. - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider. - - The name of the provider is null. - - - The name of the provider has a length of zero. - - - An attempt is made to call on a provider after the provider has already been initialized. - - - - - Forces a particular XML node to be reindexed - - XML node to reindex - Type of index to use - - - - Deletes a node from the index - - Node to delete - - - - Re-indexes all data for the index type specified - - - - - - Rebuilds the entire index from scratch for all index types - - - - - Called when a node is ignored by the ValidateDocument method. - - - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - Raises the event. - - The instance containing the event data. - - - - If true, the IndexingActionHandler will be run to keep the default index up to date. - - - - - Determines if the manager will call the indexing methods when content is saved or deleted as - opposed to cache being updated. - - - - - Gets/sets the index criteria to create the index with - - - - - Occurs for an Indexing Error - - - - - Occurs when a node is in its Indexing phase - - - - - Occurs when a node is in its Indexed phase - - - - - Occurs when a collection of nodes are in their Indexing phase (before a single node is processed) - - - - - Occurs when the collection of nodes have been indexed - - - - - Occurs when the indexer is gathering the fields and their associated data for the index - - - - - Occurs when a node is deleted from the index - - - - - Occurs when a particular field is having its data obtained - - - - - Occurs when node is found but outside the supported node set - - - - - Config section for the Examine Index Providers - - - - - Gets the indexing providers. - - The providers. - - - - Config section for the Examine search providers - - - - - Gets the search providers. - - The providers. - - - - Gets or sets the default provider. - - The default provider. - - - - Defines the supported operation for addition of additional clauses in the fluent API - - - - - Sets the next operation to be AND - - - - - - Sets the next operation to be OR - - - - - - Sets the next operation to be NOT - - - - - - Compiles this instance for fluent API conclusion - - - - - - a data structure for storing indexing/searching instructions - - - - - - - - - - Defines the query methods for the fluent search API - - - - - Query on the id - - The id. - - - - - Query on the NodeName - - Name of the node. - - - - - Query on the NodeName - - Name of the node. - - - - - Query on the NodeTypeAlias - - The node type alias. - - - - - Query on the NodeTypeAlias - - The node type alias. - - - - - Query on the Parent ID - - The id of the parent. - - - - - Query on the specified field - - Name of the field. - The field value. - - - - - Query on the specified field - - Name of the field. - The field value. - - - - - Query on a specified field using a date range. Includes upper and lower bounds - - Name of the field. - The lower. - The upper. - - - - - Query on a specified field using a date range - - Name of the field. - The lower. - The upper. - if set to true the lower. - if set to true the upper. - - - - - Query on a specified field using an int range - - Name of the field. - The lower. - The upper. - - - - - Query on a specified field using an int range. Includes upper and lower bounds - - Name of the field. - The lower. - The upper. - if set to true [include lower]. - if set to true [include upper]. - - - - - Query on a specified field using a string range. Includes upper and lower bounds - - Name of the field. - The lower. - The upper. - - - - - Query on a specified field using a string range - - Name of the field. - The lower. - The upper. - if set to true [include lower]. - if set to true [include upper]. - - - - - Queries multiple fields with each being an And boolean operation - - The fields. - The query. - - - - - Queries multiple fields with each being an And boolean operation - - The fields. - The query. - - - - - Queries multiple fields with each being an Or boolean operation - - The fields. - The query. - - - - - Queries multiple fields with each being an Or boolean operation - - The fields. - The query. - - - - - Queries multiple fields with each being an Not boolean operation - - The fields. - The query. - - - - - Queries multiple fields with each being an Not boolean operation - - The fields. - The query. - - - - - Queries on multiple fields with their inclusions customly defined - - The fields. - The query. - The operations. - - - - - Queries on multiple fields with their inclusions customly defined - - The fields. - The query. - The operations. - - - - - Orders the results by the specified fields - - The field names. - - - - - Orders the results by the specified fields in a descending order - - The field names. - - - - - Gets the boolean operation which this query method will be added as - - The boolean operation. - - - - Passes a text string which is preformatted for the underlying search API. Examine will not modify this - - - This allows a developer to completely bypass and Examine logic and comprise their own query text which they are passing in. - It means that if the search is too complex to achieve with the fluent API, or too dynamic to achieve with a static language - the provider can still handle it. - - The query. - - - - - Indicates the type of data to search on - - - - diff --git a/lib/UmbracoExamine.XML b/lib/UmbracoExamine.XML deleted file mode 100644 index a087a5fefe..0000000000 --- a/lib/UmbracoExamine.XML +++ /dev/null @@ -1,1502 +0,0 @@ - - - - UmbracoExamine - - - - - Adds an index field to the collection - - - - - - Default property for accessing an IndexField definition - - Field Name - - - - - Initializes a new instance of the class. - - The search. - The occurance. - - - - Query on the id - - The id. - A new with the clause appended - - - - Query on the NodeName - - Name of the node. - A new with the clause appended - - - - Query on the NodeTypeAlias - - The node type alias. - A new with the clause appended - - - - Query on the Parent ID - - The id of the parent. - A new with the clause appended - - - - Query on the specified field - - Name of the field. - The field value. - A new with the clause appended - - - - Ranges the specified field name. - - Name of the field. - The start. - The end. - A new with the clause appended - - - - Ranges the specified field name. - - Name of the field. - The start. - The end. - if set to true [include lower]. - if set to true [include upper]. - A new with the clause appended - - - - Ranges the specified field name. - - Name of the field. - The start. - The end. - A new with the clause appended - - - - Ranges the specified field name. - - Name of the field. - The start. - The end. - if set to true [include lower]. - if set to true [include upper]. - A new with the clause appended - - - - Ranges the specified field name. - - Name of the field. - The start. - The end. - A new with the clause appended - - - - Ranges the specified field name. - - Name of the field. - The start. - The end. - if set to true [include lower]. - if set to true [include upper]. - A new with the clause appended - - - - Query on the NodeName - - Name of the node. - A new with the clause appended - - - - Query on the NodeTypeAlias - - The node type alias. - A new with the clause appended - - - - Query on the specified field - - Name of the field. - The field value. - A new with the clause appended - - - - Queries multiple fields with each being an And boolean operation - - The fields. - The query. - A new with the clause appended - - - - Queries multiple fields with each being an And boolean operation - - The fields. - The query. - A new with the clause appended - - - - Queries multiple fields with each being an Or boolean operation - - The fields. - The query. - A new with the clause appended - - - - Queries multiple fields with each being an Or boolean operation - - The fields. - The query. - A new with the clause appended - - - - Queries multiple fields with each being an Not boolean operation - - The fields. - The query. - A new with the clause appended - - - - Queries multiple fields with each being an Not boolean operation - - The fields. - The query. - A new with the clause appended - - - - Queries on multiple fields with their inclusions customly defined - - The fields. - The operations. - The query. - A new with the clause appended - - - - Queries on multiple fields with their inclusions customly defined - - The fields. - The operations. - The query. - A new with the clause appended - - - - Orders the results by the specified fields - - The field names. - A new with the clause appended - - - - Orders the results by the specified fields in a descending order - - The field names. - A new with the clause appended - - - - Gets the boolean operation which this query method will be added as - - The boolean operation. - - - - An Examine searcher which uses Lucene.Net as the - - - - - Default constructor - - - - - Constructor to allow for creating an indexer at runtime - - - - - - Used as a singleton instance - - - - - Initializes the provider. - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider. - - The name of the provider is null. - - - The name of the provider has a length of zero. - - - An attempt is made to call on a provider after the provider has already been initialized. - - - - - Do not access this object directly. The public property ensures that the folder state is always up to date - - - - - Simple search method which defaults to searching content nodes - - - - - - - - Searches the data source using the Examine Fluent API - - The fluent API search. - - - - - Creates search criteria that defaults to IndexType.Any and BooleanOperation.And - - - - - - Creates an instance of SearchCriteria for the provider - - - - - Creates an instance of SearchCriteria for the provider - - The type of data in the index. - The default operation. - A blank SearchCriteria - - - - Gets the searcher for this instance - - - - - - Checks if the reader is current, closed or not up to date - - The reader status - - Performs error checking as the reader may be closed - - - - - This checks if the singleton IndexSearcher is initialized and up to date. - - - - - - Used to specify if leading wildcards are allowed. WARNING SLOWS PERFORMANCE WHEN ENABLED! - - - - - Directory where the Lucene.NET Index resides - - - - - The analyzer to use when searching content, by default, this is set to StandardAnalyzer - - - - - Name of the Lucene.NET index set - - - - - An implementation of the fluent API boolean operations - - - - - Sets the next operation to be AND - - - - - - Sets the next operation to be OR - - - - - - Sets the next operation to be NOT - - - - - - Compiles this instance for fluent API conclusion - - - - - - Static methods to help query umbraco xml - - - - - Converts a content node to XDocument - - - true if data is going to be returned from cache - - - If the type of node is not a Document, the cacheOnly has no effect, it will use the API to return - the xml. - - - - - Converts an to a - - Node to convert - Converted node - - - - Creates an from the collection of - - Elements to create document from - Document containing elements - - - - Converts an umbraco library call to an XDocument - - - - - - - Checks if the XElement is an umbraco property based on an alias. - This works for both types of schemas - - - - - - - - Returns true if the XElement is recognized as an umbraco xml NODE (doc type) - - - - - - - This takes into account both schemas and returns the node type alias. - If this isn't recognized as an element node, this returns an empty string - - - - - - - Returns the property value for the doc type element (such as id, path, etc...) - If the element is not an umbraco doc type node, or the property name isn't found, it returns String.Empty - - - - - - - - Returns umbraco value for a data element with the specified alias. - - - - - - - - Extension methods for IndexSet - - - - - Convert the indexset to indexerdata. - This detects if there are no user/system fields specified and if not, uses the data service to look them - up and update the in memory IndexSet. - - - - - - - Returns a string array of all fields that are indexed including Umbraco fields - - - - - Returns a list of ALL properties names for all nodes defined in the data source - - - - - - Returns a list of ALL system property names for all nodes defined in the data source - - - - - - removes html markup from a string - - - - - - - Gets published content by xpath - - - - - - - This is quite an intensive operation... - get all root content, then get the XML structure for all children, - then run xpath against the navigator that's created - - - - - - - Unfortunately, we need to implement our own IsProtected method since - the Umbraco core code requires an HttpContext for this method and when we're running - async, there is no context - - - - - - - Unfortunately, we need to implement our own IsProtected method since - the Umbraco core code requires an HttpContext for this method and when we're running - async, there is no context - - - - - - - - Returns a list of all of the user defined property names in Umbraco - - - - - - Returns a list of all system field names in Umbraco - - - - - - Adds a single character wildcard to the string for Lucene wildcard matching - - The string to wildcard. - An IExamineValue for the required operation - Thrown when the string is null or empty - - - - Adds a multi-character wildcard to a string for Lucene wildcard matching - - The string to wildcard. - An IExamineValue for the required operation - Thrown when the string is null or empty - - - - Configures the string for fuzzy matching in Lucene using the default fuzziness level - - The string to configure fuzzy matching on. - An IExamineValue for the required operation - Thrown when the string is null or empty - - - - Configures the string for fuzzy matching in Lucene using the supplied fuzziness level - - The string to configure fuzzy matching on. - The fuzzieness level. - - An IExamineValue for the required operation - - Thrown when the string is null or empty - - - - Configures the string for boosting in Lucene - - The string to wildcard. - The boost level. - - An IExamineValue for the required operation - - Thrown when the string is null or empty - - - - Configures the string for proximity matching - - The string to wildcard. - The proximity level. - - An IExamineValue for the required operation - - Thrown when the string is null or empty - - - - Escapes the string within Lucene - - The string to wildcard. - An IExamineValue for the required operation - Thrown when the string is null or empty - - - - Sets up an for an additional Examiness - - The IExamineValue to continue working with. - The string to postfix. - Combined strings - - - - Converts an Examine boolean operation to a Lucene representation - - The operation. - The translated Boolean operation - - - - Converts a Lucene boolean occurrence to an Examine representation - - The occurrence to translate. - The translated boolean occurrence - - - - This is a Lucene.Net Examine indexer for Umbraco - - - - Some links picked up along the way: - - - A matrix of concurrent lucene operations: - http://www.jguru.com/faq/view.jsp?EID=913302. - - - Based on the info here, it is best to only call optimize when there is no activity, - we only optimized after the queue has been processed and at start up: - http://www.gossamer-threads.com/lists/lucene/java-dev/47895 - http://lucene.apache.org/java/2_2_0/api/org/apache/lucene/index/IndexWriter.html - - - - - - The prefix added to a field when it is included in the index for sorting - - - - - Specifies how many index commits are performed before running an optimization - - - - - Used to store a non-tokenized key for the document - - - - - Used to store a non-tokenized type for the document - - - - - Used to store the path of a content object - - - - - Default constructor - - - - - Constructor to allow for creating an indexer at runtime - - - - - - - Set up all properties for the indexer based on configuration information specified. This will ensure that - all of the folders required by the indexer are created and exist. This will also create an instruction - file declaring the computer name that is part taking in the indexing. This file will then be used to - determine the master indexer machine in a load balanced environment (if one exists). - - The friendly name of the provider. - A collection of the name/value pairs representing the provider-specific attributes specified in the configuration for this provider. - - The name of the provider is null. - - - The name of the provider has a length of zero. - - - An attempt is made to call on a provider after the provider has already been initialized. - - - - - Used to perform thread locking - - - - - used to thread lock calls for creating and verifying folders - - - - - Used for double check locking during an index operation - - - - - We need an internal searcher used to search against our own index. - This is used for finding all descendant nodes of a current node when deleting indexes. - - - - - Forces a particular XML node to be reindexed - - XML node to reindex - Type of index to use - - - - Rebuilds the entire index from scratch for all index types - - This will completely delete the index and recreate it - - - - Deletes a node from the index. - - - When a content node is deleted, we also need to delete it's children from the index so we need to perform a - custom Lucene search to find all decendents and create Delete item queues for them too. - - ID of the node to delete - - - - Re-indexes all data for the index type specified - - - - - - Adds single node to index. If the node already exists, a duplicate will probably be created, - To re-index, use the ReIndexNode method. - - The node to index. - The type to store the node as. - - - - This wil optimize the index for searching, this gets executed when this class instance is instantiated. - - - This can be an expensive operation and should only be called when there is no indexing activity - - - - - Removes the specified term from the index - - - Boolean if it successfully deleted the term, or there were on errors - - - - Ensures that the node being indexed is of a correct type and is a descendent of the parent id specified. - - - - - - - Collects all of the data that needs to be indexed as defined in the index set. - - - A dictionary representing the data which will be indexed - - - - Collects the data for the fields and adds the document which is then committed into Lucene.Net's index - - The fields and their associated data. - The writer that will be used to update the Lucene index. - The node id. - The type to index the node as. - The path of the content node - - This will normalize (lowercase) all text before it goes in to the index. - - - - - Process all of the queue items. This checks if this machine is the Executive and if it's in a load balanced - environments. If then acts accordingly: - Not the executive = doesn't index, i - In async mode = use file watcher timer - - - - - Loop through all files in the queue item folder and index them. - Regardless of weather this machine is the executive indexer or not or is in a load balanced environment - or not, this WILL attempt to process the queue items into the index. - - - The number of queue items processed - - - Inheritors should be very carefully using this method, SafelyProcessQueueItems will ensure - that the correct machine processes the items into the index. SafelyQueueItems calls this method - if it confirms that this machine is the one to process the queue. - - - - - Returns an XDocument for the entire tree stored for the IndexType specified. - - The xpath to the node. - The type of data to request from the data service. - Either the Content or Media xml. If the type is not of those specified null is returned - - - - Saves a file indicating that the executive indexer should remove the from the index those that match - the term saved in this file. - This will save a file prefixed with the current machine name with an extension of .del - - - - - - Writes the information for the fields to a file names with the computer's name that is running the index and - a GUID value. The indexer will then index the values stored in the files in another thread so that processing may continue. - This will save a file prefixed with the current machine name with an extension of .add - - The fields. - The node id. - The type. - The path of the content node - - - - This makes sure that the folders exist, that the executive indexer is setup and that the index is optimized. - This is called at app startup when the providers are initialized but called again if folder are missing during a - an indexing operation. - - - - - Handles the file watcher timer poll elapsed event - This will: - - Disable the FileSystemWatcher - - Recursively process all queue items in the folder and check after processing if any more files have been added - - Once there's no more files to be processed, re-enables the watcher - - - - - - - Checks the writer passed in to see if it is active, if not, checks if the index is locked. If it is locked, - returns checks if the reader is not null and tries to close it. if it's still locked returns null, otherwise - creates a new writer. - - - - - - - - Checks the reader passed in to see if it is active, if not, checks if the index is locked. If it is locked, - returns checks if the writer is not null and tries to close it. if it's still locked returns null, otherwise - creates a new reader. - - - - - - - - Reads the FileInfo passed in into a dictionary object and deletes it from the index - - - - - - Reads the FileInfo passed in into a dictionary object and adds it to the index - - - - - - - - All field data will be stored into Lucene as is except for dates, these can be stored as standard: yyyyMMdd - Any standard text will be put in lower case format. - - - - - - - Adds all nodes with the given xPath root. - - The x path. - The type. - - - - Creates the folder if it does not exist. - - - - - - Checks if the index is ready to open/write to. - - - - - - Check if there is an index in the index folder - - - - - - Checks the disposal state of the objects - - - - - When the object is disposed, all data should be written - - - - - Releases unmanaged and - optionally - managed resources - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - The data service used for retreiving and submitting data to the cms - - - - - The analyzer to use when indexing content, by default, this is set to StandardAnalyzer - - - - - Used to keep track of how many index commits have been performed. - This is used to determine when index optimization needs to occur. - - - - - Indicates whether or this system will process the queue items asynchonously. Default is true. - - - - - The interval (in seconds) specified for the timer to process index queue items. - This is only relevant if is true. - - - - - The folder that stores the Lucene Index files - - - - - The folder that stores the index queue files - - - - - The Executive to determine if this is the master indexer - - - - - The index set name which references an Examine - - - - - By default this is false, if set to true then the indexer will include indexing content that is flagged as publicly protected. - This property is ignored if SupportUnpublishedContent is set to true. - - - - - Occurs when [index optimizing]. - - - - - Occurs when [document writing]. - - - - - Determines if the manager will call the indexing methods when content is saved or deleted as - opposed to cache being updated. - - - - - - Data service used to query for media - - - - - This is quite an intensive operation... - get all root media, then get the XML structure for all children, - then run xpath against the navigator that's created - - - - - - - Deletes all files in the folder and returns the number deleted. - - - - - - - An implementation of the search results returned from Lucene.Net - - - - - Internal cache of search results - - - - - Creates the search result from a - - The doc to convert. - The score. - A populated search result object - - - - Skips to a particular point in the search results. - - - This allows for lazy loading of the results paging. We don't go into Lucene until we have to. - - The number of items in the results to skip. - A collection of the search results - - - - Gets the enumerator starting at position 0 - - A collection of the search results - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets the total number of results for the search - - The total items from the search. - - - - An instance for wiring up Examine to the Umbraco events system - - - - - Creates a new instance of the class - - - - - Only index using providers that SupportUnpublishedContent - - - - - - - Only remove indexes using providers that SupportUnpublishedContent - - - - - - - Only Update indexes for providers that dont SupportUnpublishedContent - - - - - - - Only update indexes for providers that don't SupportUnpublishedContnet - - - - - - - Defines XPath statements that map to specific umbraco nodes - - - - - The folder path of where the lucene index is stored - - The index path. - - This can be set at runtime but will not be persisted to the configuration file - - - - - Returns the DirectoryInfo object for the index path. - - The index directory. - - - - When this property is set, the indexing will only index documents that are children of this node. - - - - - The collection of node types to index, if not specified, all node types will be indexed (apart from the ones specified in the ExcludeNodeTypes collection). - - - - - The collection of node types to not index. If specified, these node types will not be indexed. - - - - - A collection of user defined umbraco fields to index - - - If this property is not specified, or if it's an empty collection, the default user fields will be all user fields defined in Umbraco - - - - - The fields umbraco values that will be indexed. i.e. id, nodeTypeAlias, writer, etc... - - - If this is not specified, or if it's an empty collection, the default optins will be specified: - - id - - version - - parentID - - level - - writerID - - creatorID - - nodeType - - template - - sortOrder - - createDate - - updateDate - - nodeName - - urlName - - writerName - - creatorName - - nodeTypeAlias - - path - - - - - Event arguments for a Document Writing event - - - - - - - - - - - - - Lucene.NET Document, including all previously added fields - - - - - Fields of the indexer - - - - - NodeId of the document being written - - - - - A class that defines the type of index for each Umbraco field (non user defined fields) - Alot of standard umbraco fields shouldn't be tokenized or even indexed, just stored into lucene - for retreival after searching. - - - - - return the index policy for the field name passed in, if not found, return normal - - - - - - - This class is used to query against Lucene.Net - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Query on the id - - The id. - A new with the clause appended - - - - Query on the NodeName - - Name of the node. - A new with the clause appended - - - - Query on the NodeName - - Name of the node. - A new with the clause appended - - - - Query on the NodeTypeAlias - - The node type alias. - A new with the clause appended - - - - Query on the NodeTypeAlias - - The node type alias. - A new with the clause appended - - - - Query on the Parent ID - - The id of the parent. - A new with the clause appended - - - - Query on the specified field - - Name of the field. - The field value. - A new with the clause appended - - - - Query on the specified field - - Name of the field. - The field value. - A new with the clause appended - - - - Returns the Lucene query object for a field given an IExamineValue - - - - A new with the clause appended - - - - Creates our own style 'multi field query' used internal for the grouped operations - - - - - A new with the clause appended - - - - Passes a raw search query to the provider to handle - - The query. - A new with the clause appended - - - - Orders the results by the specified fields - - The field names. - A new with the clause appended - - - - Orders the results by the specified fields in a descending order - - The field names. - A new with the clause appended - - - - Internal operation for adding the ordered results - - if set to true [descending]. - The field names. - A new with the clause appended - - - - Gets the boolean operation which this query method will be added as - - The boolean operation. - - - - Default property for accessing Image Sets - - - - - - - Manages the delegation of authority over which machine in a load balanced environment will perform the indexing. - This is done by an IO race on initialization of the LuceneExamineIndexer. - If a server's app pool is recycled at a seperate time than the rest of the servers in the cluster, it will generally - take over the executive role (this is dependant on the time that the last latest server's app pool was restarted). - The Executive is determined by file lock (.lck) file, theoretically there should only be one of these. - If there is only 1 server in the cluster, then obviously it is the Executive. - - - - - Determines if the executive has been initialized. - This is useful for checking if files have been deleted during website operations. - - - - - - Fired every 10 minutes by the timer object. This timestamps the EXA file to - enure the system knows that this server is active. - This is to ensure that all systems in a Load Balanced environment are aware of exactly how - many other servers are taking part in the load balancing and who they are. - - - - - - - Creates an xml file to declare that this machine is taking part in the index writing. - This is used to determine the master indexer if this app exists in a load balanced environment. - - - - - Creates a lock file for this machine if there aren't other ones. - - returns true if a lock file was successfully created for this machine. - - - - delete all old lck files (any that are more than cutoffTime old) - - - - - - delete all old exa files (any that are more than cutoffTime old) - - - - - - Get all lck files that are not named by this machines name. If there are any, this means that another machine - has won the race and created the lck file for itself. If there is a lck file with the current machines name, then this - must mean it was previously the master indexer and the apppool has recycled in less than the hour. - - - - - - Updates the timestamp for lck file if it exists - - - - - Updates the timestamp for the exa file - - - - - Read the machines EXA file - - - - - - Read the machines LCK file - - - - - - This will check for any lock files, not created by the current machine. If there are any, then this machine will flag it's - exa file as not being the master indexer, otherwise, it will try to create it's own lock file to let others know it is the race - winner and therefore the master indexer. If this succeeds, it will update it's exa file to flag it as the master indexer. - - - - - When the object is disposed, all data should be written - - - - - Ensures there is an elected Executive, otherwise starts the race. - Returns a bool as to whether or not this is the Executive machine. - - - - - Returns a boolean determining whether or not this server involved in a LoadBalanced - environment with Umbraco Examine. - - - - - Returns the machine name of the executive indexer - - - - - The number of servers active in indexing - - - - - Gets the doc id at a specified index - - The index. - - - - - Gets the doc score for a doc at a specified index - - The index. - - - - diff --git a/lib/UmbracoExamine.dll b/lib/UmbracoExamine.dll index 05be41df51b0eec47d5d5e6191e477c8e48be9e4..5c37c3316a7c68534197acc0c9fe1f474b11a0d9 100644 GIT binary patch delta 10771 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 H8?OHk&S=nF delta 10730 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 M`Wru?&HdE>0Xs0;xc~qF