lucene-java-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From markrmil...@apache.org
Subject svn commit: r889683 [3/6] - in /lucene/java/branches/flex_1458: ./ contrib/ contrib/analyzers/common/src/java/org/apache/lucene/analysis/cjk/ contrib/analyzers/common/src/java/org/apache/lucene/analysis/cn/ contrib/analyzers/common/src/java/org/apache/...
Date Fri, 11 Dec 2009 16:22:46 GMT
Modified: lucene/java/branches/flex_1458/docs/linkmap.pdf
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/docs/linkmap.pdf?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/docs/linkmap.pdf (original)
+++ lucene/java/branches/flex_1458/docs/linkmap.pdf Fri Dec 11 16:22:30 2009
@@ -5,10 +5,10 @@
 /Producer (FOP 0.20.5) >>
 endobj
 5 0 obj
-<< /Length 1062 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1056 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau1.?#Q2d(kqGM/%BCKnGE`#-L%P4W\dG0G-apW"fK]od".C\qt79=#r\d#7_;]<0i?8B?MhA>cPD]TQc-cU5]<ot5lE'u5js/R4K,uV([6::69oeZ/_8eQZ^Y3WF3hlmW'35RcAT_cr7'P)`-3`lo5`Micc\Y46It>V%rZHaS=,.OlYP7Z+93D0eo$W3[?b4sP;DekmOi\dm@^k'Y@T&l5uOkX<^I^KlJ*Au7;=eR_lB$Q-BXciJ-.lRYd4U'iK!jP@s4SK"SK,U%KYBeHbE!=Tog1.N.2mu*<c2#+Qa7YLte)0NG]$G2$?>J6OVX=W%J"C9K$[oDR%F/@OrFk"@Nj1NRBRB'aDVL%>NDO#MPNHW4'6]*_jUE4(5!VGn:u?K,B7OZ?[3%pS&]n>lc'-Zn7HSVOK*aM4u0XqPVY><hn\D3,>0<r>h,p1r;UjS9D_2+tI2hhi3@hHOLFhD:-2eZj0Wr;W_eJX*>SmJK;@uW]@>$n^)"\c^SfM#M4(*)BXHo1;[o(*KqR\h'"Dlh&Yu+8Mg&6@"4Fu&dHW&\.ItHI*>DSB'Jd+dRJJ;N/.GF#:tdNg4jnR'E&uFF6`%ABb@OTIZ%r_'Bl63)VQN$69jmCL0+b(p;P9;Y%784T4`Eml@!U]1/.#67mIlsI?!8[7-Y5sf'HI?CUU#UX:Ihh'Mf)s3[YO.M]]-R*2X,!8Y2d=;ln_Aa]e7`^:SJHadBW&XSD^KdJFSG&9(B]LK>$+M]k^XcL=LA8Z&fa3#\"mrQqf3N]9+a+]JkGD"k!\S)+^UH3`I2[nZ_#8`qkI$B_Z;0&t[<)8:qqQIW#T!t("nI`h,cQ26V]fGjI'W:dB:q_]u@S\K$7r64dQW#0Mugu"<dT?-ppnM5=X58U_,>>QA6OhM!$+#tmE5&bBW2-M(<P@)QP\2hnZ(k@-^[,HT:1TqGJEq4?.dq<<i%`.T"*9)K(j62F=!tf0P6i[TupNcT,;X*H1%`Po
 ETl,N,jMk=`1JZBIV`6EO2s!q$a-CZ-ZJ6..diH7!\*!@&2e]j>A#u8XeQ/K=/,^"LAEgc~>
+Gau1.>u03/(kqGU.rkq4nbes=Z7SEG+\`X+DT4N$e0TZ(@>S4,If8W/D<r%%/MJYfS;;6Xf04*c:M-@4k9RhW^gOSf61^A%?uS%k!Rr2*,j$)E&.flfZW6Mnj>pB51^J(8lRO>aH1A*OO55Y\\6W:ib=-V;/INj4<M'I[K%ZuDAc]cNZX_%M#]N==]31HO7Y7$Y-hah/%^uT.TXATs<@5=D>-8p5;H[Ytg`D;]DE0/hW`IY2<U38/4Zi5=ZNMQDQMh"tp.DRqRV?1M!kPH+C7WMa+>MLcs#g;6$h>N.bS*5QG9tu^r=G>8#`8V:%X*Y)>PqWlY#fr*KZ_JI-lSc^,RJXRk%4Bm(_AVR(tO1"BV.5hg>qg=0GPi"K\7F.?F5b%@M!n-VO8k#A3G=O,!^,6>,45S5?D;,7:Xd=cQQ@m%?;7`XFYEa[npMe#ksI$g'.)(XADoG3uC`M@sEZ4M[jX*h6Wi?12e+:MN)9O4*4&:F(3b\^=DSB2q+QDY46Nm4T7BQKY-eZVGJ,c4taqT*Uk+AZh8NMJ!Di'8)>:HPH/_KbYU[hkjQUTNGosWO8jD73#:>Wp%8;3jupN@eCOf_67eaYbA(u0R&"^?]-[c9U$,bX=:+Wn`Uui&WdBCpZb2Cm/i\1qAp!\jTSqL+`o/3fr<D1p*`cA^[^>8#%k%>jNsdg)-OE!O5@+HB:D`hj4IH^UZ"Xk'lc:1=h9Pn]N0uoPRP2;qI".jr!m[e2n,d'/d76e,)4nnnc#cu-#(mOt*]f>%&SGb)LPhf"G(2,ZX4tA1<0c!lc%_o,]2/6.[a`(W%K0m21c<-Oik3W[iMM/51Y]76@MJ\arf6?*bousKnT'-?0;`+6dZPsGNr1&5T!%tdQp9pR7BQ3!-PoD#h_Lm;S)O,^JN?8[f#QJ-=0q@42K;8X.:N<p\0/R<W+<+LI2Pc'IT`^=Yh^tQ324XN/gJA$_HDs3^nTD.>!>,OB)0#tn-s!.)ds#
 _[=?K'h=LD=V"XSp>c9#I=_H%'FYRfXB#+8Pk*9mIBY8+rXIk*p7a=;$qB)D%jG*~>
 endstream
 endobj
 6 0 obj
@@ -87,19 +87,19 @@
 xref
 0 14
 0000000000 65535 f 
-0000003253 00000 n 
-0000003317 00000 n 
-0000003367 00000 n 
+0000003247 00000 n 
+0000003311 00000 n 
+0000003361 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
-0000001225 00000 n 
-0000001331 00000 n 
-0000002590 00000 n 
-0000002696 00000 n 
-0000002808 00000 n 
-0000002918 00000 n 
-0000003029 00000 n 
-0000003137 00000 n 
+0000001219 00000 n 
+0000001325 00000 n 
+0000002584 00000 n 
+0000002690 00000 n 
+0000002802 00000 n 
+0000002912 00000 n 
+0000003023 00000 n 
+0000003131 00000 n 
 trailer
 <<
 /Size 14
@@ -107,5 +107,5 @@
 /Info 4 0 R
 >>
 startxref
-3489
+3483
 %%EOF

Modified: lucene/java/branches/flex_1458/docs/lucene-contrib/index.html
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/docs/lucene-contrib/index.html?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/docs/lucene-contrib/index.html (original)
+++ lucene/java/branches/flex_1458/docs/lucene-contrib/index.html Fri Dec 11 16:22:30 2009
@@ -153,15 +153,15 @@
 <a href="../api/contrib-benchmark/index.html">Benchmark</a>
 </div>
 <div class="menuitem">
-<a href="../api/contrib-collation/index.html">Collation</a>
-</div>
-<div class="menuitem">
 <a href="../api/contrib-fast-vector-highlighter/index.html">Fast Vector Highlighter</a>
 </div>
 <div class="menuitem">
 <a href="../api/contrib-highlighter/index.html">Highlighter</a>
 </div>
 <div class="menuitem">
+<a href="../api/contrib-icu/index.html">ICU</a>
+</div>
+<div class="menuitem">
 <a href="../api/contrib-instantiated/index.html">Instantiated</a>
 </div>
 <div class="menuitem">
@@ -279,9 +279,6 @@
 <a href="#benchmark">benchmark</a>
 </li>
 <li>
-<a href="#collation">collation</a>
-</li>
-<li>
 <a href="#db">db</a>
 </li>
 <li>
@@ -291,6 +288,9 @@
 <a href="#fast-vector-highlighter">fast-vector-highlighter</a>
 </li>
 <li>
+<a href="#icu">icu</a>
+</li>
+<li>
 <a href="#instantiated">instantiated</a>
 </li>
 <li>
@@ -401,28 +401,28 @@
 <p>The benchmark contribution contains tools for benchmarking Lucene using standard, freely available corpora.</p>
 <p>See <a href="../api/contrib-benchmark/index.html">benchmark javadoc</a>
 </p>
-<a name="N10062"></a><a name="collation"></a>
-<h3 class="boxed">collation</h3>
-<p>CollationKeyFilter/Analyzer and ICUCollationKeyFilter/Analyzer - can be used as an efficient replacement for Locale 
-                sorting and Locale range queries as well as Locale-specific normalization </p>
-<p>See <a href="../api/contrib-collation/index.html">collation javadoc</a>
-</p>
-<a name="N10071"></a><a name="db"></a>
+<a name="N10062"></a><a name="db"></a>
 <h3 class="boxed">db</h3>
 <p>Provides integration with Berkley DB.</p>
 <p>See <a href="../api/contrib-db/index.html">db javadoc</a>
 </p>
-<a name="N10080"></a><a name="highlighter"></a>
+<a name="N10071"></a><a name="highlighter"></a>
 <h3 class="boxed">highlighter</h3>
 <p>A set of classes for highlighting matching terms in search results.</p>
 <p>See <a href="../api/contrib-highlighter/index.html">highlighter javadoc</a>
 </p>
-<a name="N1008F"></a><a name="fast-vector-highlighter"></a>
+<a name="N10080"></a><a name="fast-vector-highlighter"></a>
 <h3 class="boxed">fast-vector-highlighter</h3>
 <p>An alternative set of classes for highlighting matching terms in search results that relies on stored term vectors.
                 This highlighter can be much faster than the standard highlighter, especially on large fields.</p>
 <p>See <a href="../api/contrib-fast-vector-highlighter/index.html">fast-vector-highlighter javadoc</a>
 </p>
+<a name="N1008F"></a><a name="icu"></a>
+<h3 class="boxed">icu</h3>
+<p>Provides integration with ICU (International Components for Unicode) for
+                stronger Unicode and internationalization support. </p>
+<p>See <a href="../api/contrib-icu/index.html">icu javadoc</a>
+</p>
 <a name="N1009E"></a><a name="instantiated"></a>
 <h3 class="boxed">instantiated</h3>
 <p>RAM-based index that enables much faster searching than RAMDirectory in certain situations.</p>

Modified: lucene/java/branches/flex_1458/docs/lucene-contrib/index.pdf
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/docs/lucene-contrib/index.pdf?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/docs/lucene-contrib/index.pdf (original)
+++ lucene/java/branches/flex_1458/docs/lucene-contrib/index.pdf Fri Dec 11 16:22:30 2009
@@ -8,7 +8,7 @@
 << /Length 1067 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!$G_/c#!&;KY&$6>[i<Cn=Ka!T7T3k]Y#>MB8"ZHWN),B+Xsl+7Q_XPG<L4]EblEFa6hHn>3ngAAkM_dbr"8/YR3-d6sK'1Okn:)NnJ1,n)Z+eq>fON!6-T75RnfiHpkR>;M92uRd<</JW$^RohNb!tR;47\Rd5/YMtiGU5R/14q!Gn@C,/^e3=Vi^&jZs*3RB/#l+S%>(b'$`,mj%PgH-)Y2,cGsq3\;I`Z34^JNQg>"EM#RFlr$r'_bRp#;(dp=7>Qt3DB660?0*3UVimTY7:;<$rrSa?9\VOGQ;9W9CehIOk1Q"uO`\[!.GJ_@@L\$<K*I$H&`pl]%B%pUkT7#(VS"%[[!=Z7HFhj[i(r^,f;5?omQ+kFYW[u+,3cIGVX;<ZBh9[R!j\`RkO*>Z#!\%:5k!nmqI'YE_[o(lF"Ye.dVqrYcc'u7RNnqo-I\#'7lpYJ[V.X-0D1P&8*gTAC?\o^;`TLggJ99sgUK3s$/ECZ!`>I_[M33D7S]j(-3+PI,,L<]E7CTZ/j#.*(RNiR-Clgb6j="H7G*P8IJ1C[!MVs<41isC`X[Gp#fSWg@Pd&?slm>=6eDM5RF;0b0#!^ck(`tYGQ5V&3+-\tV;dK9bD-Q1hG[-eJ:XdK(+1>UD(aWk';6RH*BL<fKeBo+J@IB#EHJ",nC7LsUH#AjjChl8!nP?OFeKPGA[UPO?-.HLK>c'sKQhjFca!65)6m=PU_CRH7W:s]0;pWD^6k*00M:f$CZd^CshQ*Bl[OQXpVdef6%cT:KF9@0K5T2QI`@N]8W"3'5LXN46lSd)LOhja9!?8IV()\FJa1U4&^TXitc>I;*G-Y1'iHAWhiKujkHaV!phchRLg_MmfKa^/N="rUA@6!4JkuF^1GDIm/;^7C?8>:R#gOnI<f3L,;5&BB'Lm\;LIh_\,@e+=Se[Au3=\N>X&_\Q`]Po.DMQA14-hjLS/\:8bBHlG4UAd';P0P:Dk-2ID,CZT
 b-Z(cbIH10ZOLuYA`hIph^s2B7k4lE#h&K@Q^3MQ`BH'_]V&:@o*n[l91feSK?dsu,ke@-mHa+C~>
+Gb!$G_/e6`&;KX9KoX7U<K\rg*1KWCkk*:P\$cNO"F+Bl,+B/?oNfRH06Cqh4]IfjJFK_+cP"!AmDF>Bi@,lnUl<N!'5$+,#p\aB-Oa=Obfk9.aCl,2AA0AImlp0fCnpF?<5]*u]DJn[</K>X^Ya@=b!tQPHh*BE5JtPsiMVekL6Jm<4G__Mk38VE>tB&&Y$1Lj1[%T!:#5Ii$"oV'E@+A7P1)+&qr9Y>>XdCh*8M:86ZrU@7K<C!rfr-@jpK5$(dp=/>Qt3DB660?0*3UVimTY7Nk^g]rSa?9\VOGQ;9W9CehIOk1Q"uO`\[!.GJ_@@LU2d`*I$H&`pjF:At*Y;T7,.W`Q`#`!!ZS_3oJ?oN8g0FJ&Ks*R:n%pgjtqV@_J@1l/kJ*Rs_mui3-#3lN8ib5pp1fQpZFX/93PApf1KVdoVelQ(E<\[hBb0nZZUqmU0N`/;hc[rQVG19*H9Nbp62k`6F;$o<N7!^%8U.9@"dtnePAe@1JG;M:g%oN8ohE<oc1pgNJp$f/S#a1#UFfW>K9#jG>$M$!Xg>o^N-E$0ZO8=$2?WS0]q#_f![2UP*JjB/_Qq5Rk`L5Xur/TplrOAM7YCfT00MPjkt[qRB1@m;onFo@su!UPRl2e&rRMG%-aS-"s\eDmqFJL,s.MUG:98XGWTqfT$haS=nj8gaMXDeq#/ioLta,/^gk3.qY2H6=!WI79UCSWDC)g*Z<0I'!YjmAs#qW]h;dhp.YB[e6jYdL^dQD98sSLSLTM5UU"N^.V;_)&AJ;abQcM"@4u5D;*qtJ]%WKWI9>Yr:WUtD$uQ[afWZ*sa=*`GjQ5+q]"Zmhh9[/.A?TCXmD<hZ+b.d]C72!6O-8G2/TNTR)15tu@)?cuE5J<sb>S-g&map(,ET`4U6:nuKAhKmD)&F^D!K,uR0aB&R,Cd3ac!9$gS-E80ob-[B^<%0iCK[X=\ZV**__PtFO,Zg7)Yce-#P=]SOJ^ci,j)cI]R]
 _D2JIEmJ;U"]Pe+rU:rM*p$h;DppY"g*)_d1Gr!eRqd<E%P\,<Y\REO];-UkHIoT.qU]1Nt<3S(~>
 endstream
 endobj
 6 0 obj
@@ -90,7 +90,7 @@
 16 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 486.866 165.5 474.866 ]
+/Rect [ 108.0 486.866 135.5 474.866 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 17 0 R
@@ -100,7 +100,7 @@
 18 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 468.666 135.5 456.666 ]
+/Rect [ 108.0 468.666 176.168 456.666 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 19 0 R
@@ -110,7 +110,7 @@
 20 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 450.466 176.168 438.466 ]
+/Rect [ 108.0 450.466 231.476 438.466 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 21 0 R
@@ -120,7 +120,7 @@
 22 0 obj
 << /Type /Annot
 /Subtype /Link
-/Rect [ 108.0 432.266 231.476 420.266 ]
+/Rect [ 108.0 432.266 138.164 420.266 ]
 /C [ 0 0 0 ]
 /Border [ 0 0 0 ]
 /A 23 0 R
@@ -293,10 +293,10 @@
 >>
 endobj
 56 0 obj
-<< /Length 1357 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1328 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gb!#[9lK&M&A@sBkdV#M$pR2GR-Z_hIKA2/pXJoPaL'2E/U8d*WV>"g,af5^8<$Oj5[i:\,nB+_]JghqB!qD_[J7<UfbV:D('R/ebOZ^&\`g2_Jh^49Q$JSL/Uh!\4DR1gU=&>.>EKL)%p#/'mYroJ82_:lMK6qIeNWm/c"CPCJpG,RRlaQ6]=moF``mrWHbHT*\(RD,lGio/7]K:PA_fQuV#(t<:g)qig&/``+0m\?7Ze%f#tJ+%"M)_^)j$tr.7KEH!B!._N>Tjm3SiE#MG^7]!^Djki&+S,c"&?tM$[XC$pNPP00blRX`^c9=4`^\Vf0S9:is)d#=#lum38<:'T0&&3l^JqA"o62'>$A^SNmu`+VLH;c,Q(#<:+A\c,&Ymm$!p.3^WL\?"t0!BPQGYC-**pe(J&/gM$BTBY64IF9E,o\`kKZWlsO48dce9"tDV_6D.?GpY+;=Yo;'DJfu"D-eaVLoQo6[l[%(>jm!YH_.#i0^PLCS^71D$+JOK$gi85H-*e=(-3EVlfgfE,gN?2\X]i((:NH,9gYFj#1&d(eVt%e()`0tg=0QTH:C/%I<3O=EcX@%r'6?/E>_"!C!tT[q_p3.D%_cd]g,"D$c4K1"V1`dl^K_1RYG77;;=W5,8Bagf:!?a<foJ[fEo-,jga..eP't2olrj4+(N1\GdC%4UaV_J@J3G,:8_NF7bu=`.,;3]!8HjGK$Z+"Bm>Z#;jh3+tg+P*fSk4kJV-_l,R#jiQkH9"L&YQaB;F(oOS,]`7,28Y`\rTLq_=V?a3(GM&ha"(!(>+0U7fsE!7*o[]RqIsDgMHW)30oTifF1*Gi_`B7$VaLqoq^X:-=^QhOV";P)kD0?Pbod4472(*]!98WVe_=O!Yo.sUul9Cqg.p*iKpMCE9<o&$q'\:'MGXQFDH$R8ReRXW2,5'nT^oH.)2S=W)-$jF0#7]rQFb,-YG):Xj,aE_D[[nF0W%N>tRK;Ud^TJ$iIc
 K^1Zag?$W::XgXGd6b,H+7+0`]f_=`H_,(KH(?Qrq8TXif.`!+OMO1As'HERA$p#g]S[`1om&WI.aq7_IV;7M05b[b*4o'&9[X<*L9(`4m>sH74ggb%J1FoWAY3b-BoN\utomUKT.dK7MXI%45As-eO-U9/3:O#(dC7=(]>FI!3cdQ,i@"cn5Cp";[*5G+%$CT@&^;jI$k9djBX4H%d<85+(%e-`VoD=q1N2YqGgB>C7,Y!lNP%TRmoeps4U&YK@fEQ1j#mZdd]pZ[u;</p"*27k/+$?'@[s@]5W@hh5:dN)5`Aer0X)hnL6'S?tr41[k&)'NtDX/NhP)a`#R18UV_k?b[6t=[_IrEnO9\_k%1XnA~>
+Gb!#[gN)%,&:N/3nBmi,&6oP2d<=eK3pfV0-r3PZ+;0jan5^*`l[F8uRgD&bD5F"qN^aW^E3X'MS6^`US(3RheXn?+mG7Nm.Y.RhE?)Stb1c/=,6DhE,,:n"lIXSRMZt"!m+qX&Sj`psL!=K=4!WrQ.-_6Z"u2q$VMK]5qP;WK1[fLtg8Znk'[hB"VZ)Z)R8rKooR!t@WCHu?8-C28qbIf=ru"Ku'UaBV]_M#&1uK\tL_2S?!&>00k7Jn$ndm[uJ0WjE7Y$'sA%)'hKh6:p39?nsM?.!R;s4W65T&dWI5'2CB<%@>lI)]GO]GQF2#3g3@2drOo/0U1e&:!F0VAh:0`_:n4U#B';-f1c(.1?a`4VZHjpWq:7NRr;_a3`%\bfQA(("E0!h@VY$"6rC+n]/[-C9^te"GDhf4ck,`oh/>R2Mg3geY81[-8a$EKLq9n%NFK;NGdlRU^6)H'0<UnVB@O3CqibfVX80CZi#u\MJp/aEHpT]p"F]T2]PUZ[NAT1erRoBZ(HD6=7VmAMKjB%Es/%aP;%k>nN[Xs&]f'm6Op*3S-Hb[Zc(h*(gOQA+5K$[)t]he#6oRnHdhgFRt+4;X$WSp$u3)rE*7'I5;[3l&U2nX=Q/AZ<>44bf33/mhhg7C6`P%kDs%d`p6lu^#s71<M%Ie*/.-qj0h7u/IM5mog_F0@RTD2+5m8Hmae*2\4<_tO,LD83!>(_HHIuIin)Zu@2uKSs+eYOqn(2'i60[JEi@BcPkh\*<u#jXWmWNMj6'=<<MmK80<@+`<97G7CGD^i67F$e<)/um5YpnAhp3K^NceVF40'uc#sdOBJ\!mG/uU$d!"n+.I_ppt*-ENS*L1Kd=tOUG>S[Hr"TsF^Es77X!XT_S$Qj;9=`7lH!Wk.Mf2@N+V;14Irr0S[oaNlsf0Q$LrnhJ>ebu6R_/"hK=K,pp0kTiA5"<t6HgJ[+hg-trAMi6_MBg48j]$gDGA,ZRW2)SU\7=K
 jPJkpAIS=gr-kMUg+;Xb-EublJ^`o@q]%;)-dq9C5lGGb2WWu<@59Eg(W^UnBZIJP%J%"Ia</'eVZVRX=fjsDRQYMh!'Jf_Zn,^j&XtE3uU<M^.T2.-bbV_"6&r`L(E1r/l1cgk>mVsKlM9e-=DHhc!ESo8$m8N/mM$]6Jcbe/\qP>/!WmVe+]Z%9sXZ^'i83SN6IJ%9Kgl51*=c<XjJe&DWaF392GQB#@VoU/$F*C`RhNX.<ECn@u6!^k8le,QD5FV;Md-W3l7iZ,S)IWp3Bs\a5dg`r`FlQ9Jc9=eZc.lAjGB.HK#s>OVT*CkT`Z(sJR?Pe/Pdl2CK.k9`~>
 endstream
 endobj
 57 0 obj
@@ -308,10 +308,10 @@
 >>
 endobj
 58 0 obj
-<< /Length 1310 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1316 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau1.bAQ&o'Sc@2$8,Ojb_e>bQ>J>?bb,-f`k/Ye>,#jDFE&TV:?Lg(8?tW=OkLXh@+Z5@P3;E74J^hN<e#!fhcBsJiVS(h"?8YT(r@pBh=Xr*L.+L,XjD7aC%^mV+M_t0#7PbTS<3/G"A+PK]gp6V5JK^$'7sF%"KhoL/A/NR&7P'AZWdUHB*!Ac)MW9e'11*D5[Rh09EP,1X_C#KX$RP$rU:_R6^rSf!b29Z4<!U-MRdA"+@6=6^-tZ!&7i$?Qeih87of#X\r^L'XRScHqcp80.W#Pn)TOA-bGROaD-^c=*hRlSm03^"dI+,7bB*S3mj-P."91eT+spFE<;dAjk;6iUF-0.@Ll4b^koq)Z1<^Cqkt^1+3H.C<*F/(#]sY<:A?D,:E`DFR7oZ)';H7RDDsqeNRQk%6C#3HPe_^/PWqt[Der?]cT!HQ[9BMm^k?2\%>tX/Hqp;4?FP:F]Rq>CsJqY5F+Z`mKF4EiT)I8WQJot!lGr)KK5p3)cAA4X]0JB=NSqugfj_Ed0$k1!E:"3%hpC>0I8$OHl*^r'NjAJkFOCQST'2b%[Zja56a#6H6-8Bf<*:97+3^("'_P@Fucil9e7HOUt\=Zj1f.jCB2(&GX#c;*FNgf@VD/7r&GG'%JC6#(&"l%2R>e75Edt9P.26GWX<;'L\EgsZn[uI?orEl1i=TrjN^SCClJitj$TTEToTiOr*#WW/EJZbc0R3UcrmFD00KNUVrM;q5f/Jc;b8uUjQ>tplsE?lp<9QrL`q%KYg<I0oaPt/C83=JmYjbATtMpVV;et]d*5:4Ao*8-iF*ttD'E.Z"k84@+>1*r+ALl%$="X.LE]N\]b]7@B]S],VGq9cY)jp/MT&,5\9^M!(5.'7#:r<U^\lHA^kTn'Adja8IUE69aUi=KbHlElh%^;pQa@N*]g),W?oa74Ec\uF4@Xbn?n'V%>\%VhfS,qmj2gW@X\Dki3,/$a-&Hq\`*+o!":Sp:U
 2-WY[\6ir&k[cr0'6kWEH9mhO0\e'p!rT,e%&oeo?jAL^XKMs=0(U#WE.B2,uVqO5eB=]hsCVWt/Xu)TI2Gc>Fq%4+Kalo#9DbS&2^,OXX`=TQn-AVN>;2?De3MGVIrUqYg6%!V]8tqEY`F?Edr`P#WW\h-?HJ/BJ6OWupb]+pr324<q)f^t[D@1?D`=+&`[q@@4jPIAdSM3Vhhus#+#e#3Z2FsJV,b[IXLOd]h8QXI4TnYM5Se17=OL_Po&DNpF&DG^tS=I=P,cbk@<]bAc[<(NBC<LEUSP6qU<Al[[gPsZ_E$2\i)7I*Q++GbrN;~>
+Gau1.997gc&BF8='Kd^-c1!/Za(3Rl>I6YYorZJiQ=ubi*f_<=kbl`tZ:*-G',ub4=PK(YRGn)C*0/mX(;I!f?PX>miW&j#+deoNMVqFSrqB<2Nb(m]D:!V!EUiIP'*Q4iHhu"#7$PNIeRh+%8Hf#@)CJ.3,9kL75_$QFc#.aK]r<qj?0F%$YL/LB-=8X=gu`4:<G>O%Z?8)5D+eeXMQ2,F@p<R-)8AY5dHZc;^RSafq0asZ]T%F6UB\I<,K%q9<f&"?p"tALr`bOR+]NC-q4"#5UI2=8`R0o$.PQuI86:`u+4CsZ9IQ3kN?M4/7_GC2'1<\QOU2"%n]Xp`pX=?gIo6kP,ourtFhSo>D,'>-W7loUQorusWOg)ThUpU?^\D3b]ZU;T]C`?aoudSG2l?;@e7IcfC3QQKmcCRM9AOpdrp3N]HK-j69lio,&epg/X0]c/2ncG;CTFa$j1VRp]K)r<.3sp$A"f=q0XoMoA.g8MmH&)G<._Ac<YP)SoVG'_+&JID'oDg\Xqd3m";\4n@o8NRkrcm-*]KT5S&H)go<e+rZg#c='lCN<*aMU+=(5LO_"28?#7m\3D,,pQ.#Q]b1f)A6k.5>Vq\rAC-T*R(_1N\<?*8V/fBLSh->bjEZ*n\f9rZaT+*,u?<FPnL&p.$f,(e,ipcuZH(iC^3+UDUS>VBX(@3UP?+`gH#[Fq#3ZP"%4@4(1Aa&_Dc.'/)DS?8uo-eis1dog;[SEp*BTE8*tPq^a8]s]pp1oJM+=##`4#Qe*u[XUIf*l5:/3P-7EQSF^q5%>3+VP7hM=\`3I3*,<J:7OhA-\q<aY!3/C^$fg)S]UVDe2?,D:I;^drqcRM+=OC7Ed\((>jC\^Ys`'hZ?8/NVI8E-7s]QOZ?f^?4?lJp`A-L[?;$)C*%1Z'#(<Gp19HEsF:-lmqZo&74He%AjbGk=3UYH478RNgZTMiH&g2fQ`)C1I^ucRh2a@Y&.<4Ub![4@B5rUJ
 `N-pG.W;cWT%#MblZ"k6*"<(th?+nFuNFXpdS(aOAcYV'b0*,kEpsNiU\qR_@Oro\B:mdsaq+YS5*BjgbL!/Q=paDY`4:sB`35>c927,%$IreQ^k+3_"PWU`'S>eJ71"`DjT\m5*SW4Wm[V6@EbV*c'V<*aZ\?!c\[d,&5+J:H0dT?1\MBVYu?g_N0/j0\C6?laTPk<?uqd48/J&5D:-"FM/fdqlAcb2bFkWG&"+sgX5LCX6bg:u/,/ifjZ<djiD@?S26,:%<)eKHrj^e<64I],0lPHMSLpJk:,;^XFu)_8cb(jn:!fKf'#BJSpppD(n8ML>~>
 endstream
 endobj
 59 0 obj
@@ -323,10 +323,10 @@
 >>
 endobj
 60 0 obj
-<< /Length 1078 /Filter [ /ASCII85Decode /FlateDecode ]
+<< /Length 1045 /Filter [ /ASCII85Decode /FlateDecode ]
  >>
 stream
-Gau1-9iKe#&;KZL'fs2T_YTRZ^_CBAF9Y>ISS<F)M;l#j[S\#2qWkb:CeFsO)G2B@6u-#`ebcFkFZ(+cRZ&:W"NBlD*/+D'OH^B,\L>L.c8\im,AYZ^k[np;:C+07FhgiLcNu'#71a3eClF*eI_A.W$c/AA!b9&/%jr/#&I,]ko2/=Q(;P]urD_']819q.d.\c:M8I;H9WL)mX`LgR:)@MgDsT4TM'eklQH'+<\S;pO1%4lQLsWj(Y$Xf+&7k8(g1HDfbcIB$,0Q:D3R;MK=@jFCb>C=lT%V&e=VjYqH>hI``PPbZS#JsgXr#Xu/g-N=_;-"c,Y<(M=7d?SZDk%T58"^"@,Y(5Q"_UfTa9d)CjBcfkJl4l;p$r4;FlOfa:Di2b/Y\'b3,bqGI'#IG9,AEY>qi`$9t=KcYVR(?[-VKk#(DT6*s7M4(i2I2gta6M4[(r%j%D:hoVu<aIjfL-Vr#]ZQ^mJWAe/eeKrVWHtao,O1>mV+?r(Q=*Oua"52g/ki^*sg0=`:_F&nW:(Bu4Xq[1,e2hG.gNT*gnglYtT*nI.OuP<T^Fo;7$5;0m0^mZQ>Y*)n834]#@=:6jc6S32hLUSW.%.0Q70Dm0r'&6I/;]+D5q*@K+,h`^O;N+iR(Q=^\!cX7j":]m5XudoVF<-[VP,S!DEE5l?M*cHR,h()p#1iHFCNZ2,.ODo/2bBh+3#TR9H;310o?\RHhmH+ARUn8ZSk7X9R`J&kh9mX9=&`LHD>i\U*J$rRY\Q=SicamE"iYCE[q&O3!p*r6GmZe;%ML3C,mpDbANj%c"qnR<=DMp%qS:CJ>nk'l(:nh5?\_GV=I&FgtJQS%HeO(^\>;/[kCgR9tlM]2^r=b5FT)DUgGV&O8S'j+q5_Z=%!'66L,UPc(jP&:]Tl-<0FiZo.H$[HJfdcND8h%aTh5aIj@im2-C#87#>d;?mE?>L)au/LNjiY?"_#Y+:7>>2qCqocZ(=O,2hf="k$4
 (BO*OAZ[?DLGYpb-]%$'O'uX5h>.1aa[5+$+.95'1ft>s,f"5s"*_)TN9KR*@3nbO<n$QdIi:gnsfEq9WoTARc~>
+Gau1-9lo#B&;KZO$6>T<MS<XDgJ!g!:-+Rs*'2RBTR\_2^iG,8Tte=INKKHm-?RsM!3^6bfC-'"h05(1qoS'b#_U!DY=:O(#RDUO0B:=IQluZfi4s&G2u5@Wp[S@e=`jE6,mTh4$^:Al[>U.H@*gLd":E)_A-K]]\T.>Zbk1`?N(NoF2mp':aIHHNN-1t`bNV>hmnHr<e#Jp,pM>^RYA7XkkUB_707n>[RHd\f1[lDY5!0.3@`\E(DRCPVXeU]$W!>2de,?%FPn;11$rPCL1Q7fQNq*SY=+K<I5@8uTXr'ORl\ZQJS0lBNJ8(ot)E>TqA'tO@+jOIHM0!jhL_QRW=RqtKcK$Kh-9c^0+Qg3*q)8$F[*`c8UYIn2Wa;Vb%]QJ0X(1RU8F5)'Pu/$iQ!*O,D<KmQVtXc^r)#1lO)4S`jn+]51$.1Q#.(\EC6E9b><'r:h@#EWb<b_!QRSHe&-lsRcP92qIqsMSPs!?WD7d39,mqI"jm;%r5nXMHH`,=Nft:7qWbeZX3#?s.0L_sREE.f$e[f_"epjs>=XG7Q7$8*S_ts,;QnOgNB_QgXN;J<"oXG0YnVc:o9$`GWMN"eK$AM>F`[HUqn]pC[%lJWJ?!<4d(/]U5\-H-e_gEA*HFF3QJHu.#7PncWXmtY7BZ>EKU^'@+-48!i>ot@\V==.=4-^?l"Nm5C&rO0A68,BID/-C6^[sd5LQ/MgD7Nlacom0B;<E4%+&NC6WK[@4c>,%bMC5(g%9FUdOU0b&C,p2.bALSPS(TNJLdF]/W<A(XV)84Ar],u8UXL\BQ-VMNesY61\@@(/]e:@Tq08HHns(-MUdY!te&S"uI]h<WnFK9S1,%'S7AM;a8Zt[]VVP&k--W2.+nq^0j-OYnnE%ZX]-Poh][e1uNCij!&1$Ya47BH5_&.TWaQ,P')c`]ZGk?S)m3c;/&a=(7R"I-V0_b0];`)REI(6E2cC&.h6C(cLff-cfYR!Q>=HgE
 RXV!#4g:)63Dj?7+>W0Jj5KFh1Fjj3#[(b.SXZaE(4bH&1hr#g'!r~>
 endstream
 endobj
 61 0 obj
@@ -371,7 +371,7 @@
 >> endobj
 67 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\64\0\40\0\143\0\157\0\154\0\154\0\141\0\164\0\151\0\157\0\156)
+ /Title (\376\377\0\61\0\56\0\64\0\40\0\144\0\142)
  /Parent 63 0 R
  /Prev 66 0 R
  /Next 68 0 R
@@ -379,7 +379,7 @@
 >> endobj
 68 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\65\0\40\0\144\0\142)
+ /Title (\376\377\0\61\0\56\0\65\0\40\0\150\0\151\0\147\0\150\0\154\0\151\0\147\0\150\0\164\0\145\0\162)
  /Parent 63 0 R
  /Prev 67 0 R
  /Next 69 0 R
@@ -387,7 +387,7 @@
 >> endobj
 69 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\66\0\40\0\150\0\151\0\147\0\150\0\154\0\151\0\147\0\150\0\164\0\145\0\162)
+ /Title (\376\377\0\61\0\56\0\66\0\40\0\146\0\141\0\163\0\164\0\55\0\166\0\145\0\143\0\164\0\157\0\162\0\55\0\150\0\151\0\147\0\150\0\154\0\151\0\147\0\150\0\164\0\145\0\162)
  /Parent 63 0 R
  /Prev 68 0 R
  /Next 70 0 R
@@ -395,7 +395,7 @@
 >> endobj
 70 0 obj
 <<
- /Title (\376\377\0\61\0\56\0\67\0\40\0\146\0\141\0\163\0\164\0\55\0\166\0\145\0\143\0\164\0\157\0\162\0\55\0\150\0\151\0\147\0\150\0\154\0\151\0\147\0\150\0\164\0\145\0\162)
+ /Title (\376\377\0\61\0\56\0\67\0\40\0\151\0\143\0\165)
  /Parent 63 0 R
  /Prev 69 0 R
  /Next 71 0 R
@@ -605,13 +605,13 @@
 19 0 obj
 <<
 /S /GoTo
-/D [57 0 R /XYZ 85.0 538.947 null]
+/D [57 0 R /XYZ 85.0 565.347 null]
 >>
 endobj
 21 0 obj
 <<
 /S /GoTo
-/D [57 0 R /XYZ 85.0 466.494 null]
+/D [57 0 R /XYZ 85.0 492.894 null]
 >>
 endobj
 23 0 obj
@@ -623,91 +623,91 @@
 25 0 obj
 <<
 /S /GoTo
-/D [57 0 R /XYZ 85.0 295.188 null]
+/D [57 0 R /XYZ 85.0 308.388 null]
 >>
 endobj
 27 0 obj
 <<
 /S /GoTo
-/D [57 0 R /XYZ 85.0 209.535 null]
+/D [57 0 R /XYZ 85.0 222.735 null]
 >>
 endobj
 29 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 659.0 null]
+/D [57 0 R /XYZ 85.0 150.282 null]
 >>
 endobj
 31 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 586.547 null]
+/D [59 0 R /XYZ 85.0 616.6 null]
 >>
 endobj
 33 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 500.894 null]
+/D [59 0 R /XYZ 85.0 530.947 null]
 >>
 endobj
 35 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 415.241 null]
+/D [59 0 R /XYZ 85.0 445.294 null]
 >>
 endobj
 37 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 342.788 null]
+/D [59 0 R /XYZ 85.0 372.841 null]
 >>
 endobj
 39 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 270.335 null]
+/D [59 0 R /XYZ 85.0 300.388 null]
 >>
 endobj
 41 0 obj
 <<
 /S /GoTo
-/D [59 0 R /XYZ 85.0 197.882 null]
+/D [59 0 R /XYZ 85.0 227.935 null]
 >>
 endobj
 43 0 obj
 <<
 /S /GoTo
-/D [61 0 R /XYZ 85.0 659.0 null]
+/D [59 0 R /XYZ 85.0 155.482 null]
 >>
 endobj
 45 0 obj
 <<
 /S /GoTo
-/D [61 0 R /XYZ 85.0 586.547 null]
+/D [61 0 R /XYZ 85.0 616.6 null]
 >>
 endobj
 47 0 obj
 <<
 /S /GoTo
-/D [61 0 R /XYZ 85.0 514.094 null]
+/D [61 0 R /XYZ 85.0 544.147 null]
 >>
 endobj
 49 0 obj
 <<
 /S /GoTo
-/D [61 0 R /XYZ 85.0 441.641 null]
+/D [61 0 R /XYZ 85.0 471.694 null]
 >>
 endobj
 51 0 obj
 <<
 /S /GoTo
-/D [61 0 R /XYZ 85.0 369.188 null]
+/D [61 0 R /XYZ 85.0 399.241 null]
 >>
 endobj
 53 0 obj
 <<
 /S /GoTo
-/D [61 0 R /XYZ 85.0 296.735 null]
+/D [61 0 R /XYZ 85.0 326.788 null]
 >>
 endobj
 62 0 obj
@@ -718,96 +718,96 @@
 xref
 0 91
 0000000000 65535 f 
-0000015540 00000 n 
-0000015626 00000 n 
-0000015718 00000 n 
+0000015450 00000 n 
+0000015536 00000 n 
+0000015628 00000 n 
 0000000015 00000 n 
 0000000071 00000 n 
 0000001230 00000 n 
 0000001350 00000 n 
 0000001529 00000 n 
-0000015841 00000 n 
+0000015751 00000 n 
 0000001664 00000 n 
-0000015904 00000 n 
+0000015814 00000 n 
 0000001801 00000 n 
-0000015970 00000 n 
+0000015880 00000 n 
 0000001938 00000 n 
-0000016036 00000 n 
+0000015946 00000 n 
 0000002075 00000 n 
-0000016101 00000 n 
+0000016011 00000 n 
 0000002210 00000 n 
-0000016165 00000 n 
-0000002345 00000 n 
-0000016231 00000 n 
-0000002482 00000 n 
-0000016297 00000 n 
-0000002619 00000 n 
-0000016363 00000 n 
-0000002756 00000 n 
-0000016429 00000 n 
-0000002893 00000 n 
-0000016495 00000 n 
-0000003030 00000 n 
-0000016559 00000 n 
-0000003167 00000 n 
-0000016625 00000 n 
-0000003303 00000 n 
-0000016691 00000 n 
-0000003440 00000 n 
-0000016757 00000 n 
-0000003577 00000 n 
-0000016823 00000 n 
-0000003714 00000 n 
-0000016889 00000 n 
-0000003851 00000 n 
-0000016955 00000 n 
-0000003988 00000 n 
-0000017019 00000 n 
-0000004124 00000 n 
-0000017085 00000 n 
-0000004261 00000 n 
-0000017151 00000 n 
-0000004398 00000 n 
-0000017217 00000 n 
-0000004535 00000 n 
-0000017283 00000 n 
-0000004672 00000 n 
-0000006620 00000 n 
-0000006728 00000 n 
-0000008178 00000 n 
-0000008286 00000 n 
-0000009689 00000 n 
-0000009797 00000 n 
-0000010968 00000 n 
-0000017349 00000 n 
-0000011076 00000 n 
-0000011277 00000 n 
-0000011433 00000 n 
-0000011567 00000 n 
-0000011737 00000 n 
-0000011907 00000 n 
-0000012035 00000 n 
-0000012217 00000 n 
-0000012469 00000 n 
-0000012657 00000 n 
-0000012803 00000 n 
-0000012960 00000 n 
-0000013105 00000 n 
-0000013292 00000 n 
-0000013443 00000 n 
-0000013600 00000 n 
-0000013769 00000 n 
-0000013932 00000 n 
-0000014125 00000 n 
-0000014294 00000 n 
-0000014445 00000 n 
-0000014620 00000 n 
-0000014783 00000 n 
-0000014984 00000 n 
-0000015097 00000 n 
-0000015207 00000 n 
-0000015315 00000 n 
-0000015431 00000 n 
+0000016075 00000 n 
+0000002347 00000 n 
+0000016141 00000 n 
+0000002484 00000 n 
+0000016207 00000 n 
+0000002621 00000 n 
+0000016273 00000 n 
+0000002758 00000 n 
+0000016339 00000 n 
+0000002895 00000 n 
+0000016405 00000 n 
+0000003032 00000 n 
+0000016471 00000 n 
+0000003169 00000 n 
+0000016535 00000 n 
+0000003305 00000 n 
+0000016601 00000 n 
+0000003442 00000 n 
+0000016667 00000 n 
+0000003579 00000 n 
+0000016733 00000 n 
+0000003716 00000 n 
+0000016799 00000 n 
+0000003853 00000 n 
+0000016865 00000 n 
+0000003990 00000 n 
+0000016931 00000 n 
+0000004126 00000 n 
+0000016995 00000 n 
+0000004263 00000 n 
+0000017061 00000 n 
+0000004400 00000 n 
+0000017127 00000 n 
+0000004537 00000 n 
+0000017193 00000 n 
+0000004674 00000 n 
+0000006622 00000 n 
+0000006730 00000 n 
+0000008151 00000 n 
+0000008259 00000 n 
+0000009668 00000 n 
+0000009776 00000 n 
+0000010914 00000 n 
+0000017259 00000 n 
+0000011022 00000 n 
+0000011223 00000 n 
+0000011379 00000 n 
+0000011513 00000 n 
+0000011683 00000 n 
+0000011811 00000 n 
+0000011993 00000 n 
+0000012245 00000 n 
+0000012379 00000 n 
+0000012567 00000 n 
+0000012713 00000 n 
+0000012870 00000 n 
+0000013015 00000 n 
+0000013202 00000 n 
+0000013353 00000 n 
+0000013510 00000 n 
+0000013679 00000 n 
+0000013842 00000 n 
+0000014035 00000 n 
+0000014204 00000 n 
+0000014355 00000 n 
+0000014530 00000 n 
+0000014693 00000 n 
+0000014894 00000 n 
+0000015007 00000 n 
+0000015117 00000 n 
+0000015225 00000 n 
+0000015341 00000 n 
 trailer
 <<
 /Size 91
@@ -815,5 +815,5 @@
 /Info 4 0 R
 >>
 startxref
-17400
+17310
 %%EOF

Modified: lucene/java/branches/flex_1458/docs/queryparsersyntax.html
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/docs/queryparsersyntax.html?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/docs/queryparsersyntax.html (original)
+++ lucene/java/branches/flex_1458/docs/queryparsersyntax.html Fri Dec 11 16:22:30 2009
@@ -153,15 +153,15 @@
 <a href="api/contrib-benchmark/index.html">Benchmark</a>
 </div>
 <div class="menuitem">
-<a href="api/contrib-collation/index.html">Collation</a>
-</div>
-<div class="menuitem">
 <a href="api/contrib-fast-vector-highlighter/index.html">Fast Vector Highlighter</a>
 </div>
 <div class="menuitem">
 <a href="api/contrib-highlighter/index.html">Highlighter</a>
 </div>
 <div class="menuitem">
+<a href="api/contrib-icu/index.html">ICU</a>
+</div>
+<div class="menuitem">
 <a href="api/contrib-instantiated/index.html">Instantiated</a>
 </div>
 <div class="menuitem">

Modified: lucene/java/branches/flex_1458/docs/scoring.html
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/docs/scoring.html?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/docs/scoring.html (original)
+++ lucene/java/branches/flex_1458/docs/scoring.html Fri Dec 11 16:22:30 2009
@@ -153,15 +153,15 @@
 <a href="api/contrib-benchmark/index.html">Benchmark</a>
 </div>
 <div class="menuitem">
-<a href="api/contrib-collation/index.html">Collation</a>
-</div>
-<div class="menuitem">
 <a href="api/contrib-fast-vector-highlighter/index.html">Fast Vector Highlighter</a>
 </div>
 <div class="menuitem">
 <a href="api/contrib-highlighter/index.html">Highlighter</a>
 </div>
 <div class="menuitem">
+<a href="api/contrib-icu/index.html">ICU</a>
+</div>
+<div class="menuitem">
 <a href="api/contrib-instantiated/index.html">Instantiated</a>
 </div>
 <div class="menuitem">

Modified: lucene/java/branches/flex_1458/docs/systemrequirements.html
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/docs/systemrequirements.html?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/docs/systemrequirements.html (original)
+++ lucene/java/branches/flex_1458/docs/systemrequirements.html Fri Dec 11 16:22:30 2009
@@ -151,15 +151,15 @@
 <a href="api/contrib-benchmark/index.html">Benchmark</a>
 </div>
 <div class="menuitem">
-<a href="api/contrib-collation/index.html">Collation</a>
-</div>
-<div class="menuitem">
 <a href="api/contrib-fast-vector-highlighter/index.html">Fast Vector Highlighter</a>
 </div>
 <div class="menuitem">
 <a href="api/contrib-highlighter/index.html">Highlighter</a>
 </div>
 <div class="menuitem">
+<a href="api/contrib-icu/index.html">ICU</a>
+</div>
+<div class="menuitem">
 <a href="api/contrib-instantiated/index.html">Instantiated</a>
 </div>
 <div class="menuitem">

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/AllTermDocs.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/AllTermDocs.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/AllTermDocs.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/AllTermDocs.java Fri Dec 11 16:22:30 2009
@@ -18,70 +18,20 @@
 package org.apache.lucene.index;
 
 import org.apache.lucene.util.BitVector;
-import java.io.IOException;
 
 /** @deprecated Switch to AllDocsEnum */
-class AllTermDocs implements TermDocs {
+class AllTermDocs extends AbstractAllTermDocs {
+
   protected BitVector deletedDocs;
-  protected int maxDoc;
-  protected int doc = -1;
 
   protected AllTermDocs(SegmentReader parent) {
+    super(parent.maxDoc());
     synchronized (parent) {
       this.deletedDocs = parent.deletedDocs;
     }
-    this.maxDoc = parent.maxDoc();
-  }
-
-  public void seek(Term term) throws IOException {
-    if (term==null) {
-      doc = -1;
-    } else {
-      throw new UnsupportedOperationException();
-    }
-  }
-
-  public void seek(TermEnum termEnum) throws IOException {
-    throw new UnsupportedOperationException();
-  }
-
-  public int doc() {
-    return doc;
-  }
-
-  public int freq() {
-    return 1;
-  }
-
-  public boolean next() throws IOException {
-    return skipTo(doc+1);
-  }
-
-  public int read(int[] docs, int[] freqs) throws IOException {
-    final int length = docs.length;
-    int i = 0;
-    while (i < length && doc < maxDoc) {
-      if (deletedDocs == null || !deletedDocs.get(doc)) {
-        docs[i] = doc;
-        freqs[i] = 1;
-        ++i;
-      }
-      doc++;
-    }
-    return i;
-  }
-
-  public boolean skipTo(int target) throws IOException {
-    doc = target;
-    while (doc < maxDoc) {
-      if (deletedDocs == null || !deletedDocs.get(doc)) {
-        return true;
-      }
-      doc++;
-    }
-    return false;
   }
 
-  public void close() throws IOException {
+  public boolean isDeleted(int doc) {
+    return deletedDocs != null && deletedDocs.get(doc);
   }
 }

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/DirectoryReader.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/DirectoryReader.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/DirectoryReader.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/DirectoryReader.java Fri Dec 11 16:22:30 2009
@@ -730,13 +730,25 @@
   @Override
   public TermEnum terms() throws IOException {
     ensureOpen();
-    return new MultiTermEnum(this, subReaders, starts, null);
+    //nocommit: investigate this opto
+//    if (subReaders.length == 1) {
+      // Optimize single segment case:
+//      return subReaders[0].terms();
+//    } else {
+      return new MultiTermEnum(this, subReaders, starts, null);
+//    }
   }
 
   @Override
   public TermEnum terms(Term term) throws IOException {
     ensureOpen();
-    return new MultiTermEnum(this, subReaders, starts, term);
+    //nocommit: investigate this opto
+//    if (subReaders.length == 1) {
+      // Optimize single segment case:
+//      return subReaders[0].terms(term);
+//    } else {
+      return new MultiTermEnum(this, subReaders, starts, term);
+//    }
   }
 
   @Override
@@ -761,7 +773,23 @@
   @Override
   public TermDocs termDocs() throws IOException {
     ensureOpen();
-    return new MultiTermDocs(this, subReaders, starts);
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].termDocs();
+    } else {
+      return new MultiTermDocs(this, subReaders, starts);
+    }
+  }
+
+  @Override
+  public TermDocs termDocs(Term term) throws IOException {
+    ensureOpen();
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].termDocs(term);
+    } else {
+      return super.termDocs(term);
+    }
   }
 
   @Override
@@ -777,7 +805,12 @@
   @Override
   public TermPositions termPositions() throws IOException {
     ensureOpen();
-    return new MultiTermPositions(this, subReaders, starts);
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].termPositions();
+    } else {
+      return new MultiTermPositions(this, subReaders, starts);
+    }
   }
 
   /**

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/IndexWriter.java Fri Dec 11 16:22:30 2009
@@ -3390,9 +3390,14 @@
     startCommit(0, commitUserData);
   }
 
+  // Used only by commit, below; lock order is commitLock -> IW
+  private final Object commitLock = new Object();
+
   private void commit(long sizeInBytes) throws IOException {
-    startCommit(sizeInBytes, null);
-    finishCommit();
+    synchronized(commitLock) {
+      startCommit(sizeInBytes, null);
+      finishCommit();
+    }
   }
 
   /**
@@ -3442,17 +3447,26 @@
 
     ensureOpen();
 
-    if (infoStream != null)
+    if (infoStream != null) {
       message("commit: start");
+    }
 
-    if (pendingCommit == null) {
-      if (infoStream != null)
-        message("commit: now prepare");
-      prepareCommit(commitUserData);
-    } else if (infoStream != null)
-      message("commit: already prepared");
+    synchronized(commitLock) {
+      if (infoStream != null) {
+        message("commit: enter lock");
+      }
 
-    finishCommit();
+      if (pendingCommit == null) {
+        if (infoStream != null) {
+          message("commit: now prepare");
+        }
+        prepareCommit(commitUserData);
+      } else if (infoStream != null) {
+        message("commit: already prepared");
+      }
+
+      finishCommit();
+    }
   }
 
   private synchronized final void finishCommit() throws CorruptIndexException, IOException {
@@ -4584,6 +4598,9 @@
 
     assert testPoint("startStartCommit");
 
+    // TODO: as of LUCENE-2095, we can simplify this method,
+    // since only 1 thread can be in here at once
+
     if (hitOOM) {
       throw new IllegalStateException("this writer hit an OutOfMemoryError; cannot commit");
     }

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/MultiReader.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/MultiReader.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/MultiReader.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/MultiReader.java Fri Dec 11 16:22:30 2009
@@ -368,13 +368,23 @@
   @Override
   public TermEnum terms() throws IOException {
     ensureOpen();
-    return new MultiTermEnum(this, subReaders, starts, null);
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].terms();
+    } else {
+      return new MultiTermEnum(this, subReaders, starts, null);
+    }
   }
 
   @Override
   public TermEnum terms(Term term) throws IOException {
     ensureOpen();
-    return new MultiTermEnum(this, subReaders, starts, term);
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].terms(term);
+    } else {
+      return new MultiTermEnum(this, subReaders, starts, term);
+    }
   }
 
   @Override
@@ -399,13 +409,34 @@
   @Override
   public TermDocs termDocs() throws IOException {
     ensureOpen();
-    return new MultiTermDocs(this, subReaders, starts);
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].termDocs();
+    } else {
+      return new MultiTermDocs(this, subReaders, starts);
+    }
+  }
+
+  @Override
+  public TermDocs termDocs(Term term) throws IOException {
+    ensureOpen();
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].termDocs(term);
+    } else {
+      return super.termDocs(term);
+    }
   }
 
   @Override
   public TermPositions termPositions() throws IOException {
     ensureOpen();
-    return new MultiTermPositions(this, subReaders, starts);
+    if (subReaders.length == 1) {
+      // Optimize single segment case:
+      return subReaders[0].termPositions();
+    } else {
+      return new MultiTermPositions(this, subReaders, starts);
+    }
   }
 
   @Override

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/PositionBasedTermVectorMapper.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/PositionBasedTermVectorMapper.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/PositionBasedTermVectorMapper.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/PositionBasedTermVectorMapper.java Fri Dec 11 16:22:30 2009
@@ -110,7 +110,7 @@
    *
    * @return A map between field names and a Map.  The sub-Map key is the position as the integer, the value is {@link org.apache.lucene.index.PositionBasedTermVectorMapper.TVPositionInfo}.
    */
-  public Map<String, Map<Integer, TVPositionInfo>>  getFieldToTerms() {
+  public Map<String,Map<Integer,TVPositionInfo>>  getFieldToTerms() {
     return fieldToTerms;
   }
 

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentReader.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentReader.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentReader.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/index/SegmentReader.java Fri Dec 11 16:22:30 2009
@@ -28,6 +28,7 @@
 import java.util.Map;
 import java.util.Set;
 
+import java.util.concurrent.atomic.AtomicInteger;
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.FieldSelector;
 import org.apache.lucene.search.Similarity;
@@ -62,7 +63,7 @@
   CloseableThreadLocal<TermVectorsReader> termVectorsLocal = new CloseableThreadLocal<TermVectorsReader>();
 
   BitVector deletedDocs = null;
-  Ref deletedDocsRef = null;
+  AtomicInteger deletedDocsRef = null;
   private boolean deletedDocsDirty = false;
   private boolean normsDirty = false;
   private int pendingDeleteCount;
@@ -74,7 +75,7 @@
 
   // optionally used for the .nrm file shared by multiple norms
   private IndexInput singleNormStream;
-  private Ref singleNormRef;
+  private AtomicInteger singleNormRef;
 
   CoreReaders core;
 
@@ -88,7 +89,7 @@
     // closed.  A given instance of SegmentReader may be
     // closed, even those it shares core objects with other
     // SegmentReaders:
-    private final Ref ref = new Ref();
+    private final AtomicInteger ref = new AtomicInteger(1);
 
     final String segment;
     final FieldInfos fieldInfos;
@@ -163,7 +164,7 @@
     }
 
     synchronized void incRef() {
-      ref.incRef();
+      ref.incrementAndGet();
     }
 
     synchronized Directory getCFSReader() {
@@ -172,7 +173,7 @@
 
     synchronized void decRef() throws IOException {
 
-      if (ref.decRef() == 0) {
+      if (ref.decrementAndGet() == 0) {
 
         if (fields != null) {
           fields.close();
@@ -260,31 +261,6 @@
     }
   }
   
-  static class Ref {
-    private int refCount = 1;
-    
-    @Override
-    public String toString() {
-      return "refcount: "+refCount;
-    }
-    
-    public synchronized int refCount() {
-      return refCount;
-    }
-    
-    public synchronized int incRef() {
-      assert refCount > 0;
-      refCount++;
-      return refCount;
-    }
-
-    public synchronized int decRef() {
-      assert refCount > 0;
-      refCount--;
-      return refCount;
-    }
-  }
-  
   /**
    * Byte[] referencing is used because a new norm object needs 
    * to be created for each clone, and the byte array is all 
@@ -305,7 +281,7 @@
     private long normSeek;
 
     // null until bytes is set
-    private Ref bytesRef;
+    private AtomicInteger bytesRef;
     private byte[] bytes;
     private boolean dirty;
     private int number;
@@ -330,7 +306,7 @@
         } else {
           // We are sharing this with others -- decRef and
           // maybe close the shared norm stream
-          if (singleNormRef.decRef() == 0) {
+          if (singleNormRef.decrementAndGet() == 0) {
             singleNormStream.close();
             singleNormStream = null;
           }
@@ -353,7 +329,7 @@
 
         if (bytes != null) {
           assert bytesRef != null;
-          bytesRef.decRef();
+          bytesRef.decrementAndGet();
           bytes = null;
           bytesRef = null;
         } else {
@@ -396,7 +372,7 @@
           // byte[]
           bytes = origNorm.bytes();
           bytesRef = origNorm.bytesRef;
-          bytesRef.incRef();
+          bytesRef.incrementAndGet();
 
           // Once we've loaded the bytes we no longer need
           // origNorm:
@@ -418,7 +394,7 @@
             in.readBytes(bytes, 0, count, false);
           }
 
-          bytesRef = new Ref();
+          bytesRef = new AtomicInteger(1);
           closeInput();
         }
       }
@@ -427,7 +403,7 @@
     }
 
     // Only for testing
-    Ref bytesRef() {
+    AtomicInteger bytesRef() {
       return bytesRef;
     }
 
@@ -438,15 +414,15 @@
       bytes();
       assert bytes != null;
       assert bytesRef != null;
-      if (bytesRef.refCount() > 1) {
+      if (bytesRef.get() > 1) {
         // I cannot be the origNorm for another norm
         // instance if I'm being changed.  Ie, only the
         // "head Norm" can be changed:
         assert refCount == 1;
-        final Ref oldRef = bytesRef;
+        final AtomicInteger oldRef = bytesRef;
         bytes = cloneNormBytes(bytes);
-        bytesRef = new Ref();
-        oldRef.decRef();
+        bytesRef = new AtomicInteger(1);
+        oldRef.decrementAndGet();
       }
       dirty = true;
       return bytes;
@@ -472,7 +448,7 @@
         assert origNorm == null;
 
         // Clone holds a reference to my bytes:
-        clone.bytesRef.incRef();
+        clone.bytesRef.incrementAndGet();
       } else {
         assert bytesRef == null;
         if (origNorm == null) {
@@ -573,7 +549,7 @@
     // NOTE: the bitvector is stored using the regular directory, not cfs
     if (hasDeletions(si)) {
       deletedDocs = new BitVector(directory(), si.getDelFileName());
-      deletedDocsRef = new Ref();
+      deletedDocsRef = new AtomicInteger(1);
      
       assert si.getDelCount() == deletedDocs.count() : 
         "delete count mismatch: info=" + si.getDelCount() + " vs BitVector=" + deletedDocs.count();
@@ -667,7 +643,7 @@
       
       if (doClone) {
         if (deletedDocs != null) {
-          deletedDocsRef.incRef();
+          deletedDocsRef.incrementAndGet();
           clone.deletedDocs = deletedDocs;
           clone.deletedDocsRef = deletedDocsRef;
         }
@@ -677,7 +653,7 @@
           assert clone.deletedDocs == null;
           clone.loadDeletedDocs();
         } else if (deletedDocs != null) {
-          deletedDocsRef.incRef();
+          deletedDocsRef.incrementAndGet();
           clone.deletedDocs = deletedDocs;
           clone.deletedDocsRef = deletedDocsRef;
         }
@@ -755,7 +731,7 @@
     fieldsReaderLocal.close();
     
     if (deletedDocs != null) {
-      deletedDocsRef.decRef();
+      deletedDocsRef.decrementAndGet();
       // null so if an app hangs on to us we still free most ram
       deletedDocs = null;
     }
@@ -791,16 +767,16 @@
   protected void doDelete(int docNum) {
     if (deletedDocs == null) {
       deletedDocs = new BitVector(maxDoc());
-      deletedDocsRef = new Ref();
+      deletedDocsRef = new AtomicInteger(1);
     }
     // there is more than 1 SegmentReader with a reference to this
     // deletedDocs BitVector so decRef the current deletedDocsRef,
     // clone the BitVector, create a new deletedDocsRef
-    if (deletedDocsRef.refCount() > 1) {
-      Ref oldRef = deletedDocsRef;
+    if (deletedDocsRef.get() > 1) {
+      AtomicInteger oldRef = deletedDocsRef;
       deletedDocs = cloneDeletedDocs(deletedDocs);
-      deletedDocsRef = new Ref();
-      oldRef.decRef();
+      deletedDocsRef = new AtomicInteger(1);
+      oldRef.decrementAndGet();
     }
     deletedDocsDirty = true;
     if (!deletedDocs.getAndSet(docNum))
@@ -812,7 +788,7 @@
     deletedDocsDirty = false;
     if (deletedDocs != null) {
       assert deletedDocsRef != null;
-      deletedDocsRef.decRef();
+      deletedDocsRef.decrementAndGet();
       deletedDocs = null;
       deletedDocsRef = null;
       pendingDeleteCount = 0;
@@ -961,7 +937,7 @@
   }
 
   /**
-   * @see IndexReader#getFieldNames(IndexReader.FieldOption fldOption)
+   * @see IndexReader#getFieldNames(org.apache.lucene.index.IndexReader.FieldOption)
    */
   @Override
   public Collection<String> getFieldNames(IndexReader.FieldOption fieldOption) {
@@ -1086,9 +1062,9 @@
           normSeek = nextNormSeek;
           if (singleNormStream == null) {
             singleNormStream = d.openInput(fileName, readBufferSize);
-            singleNormRef = new Ref();
+            singleNormRef = new AtomicInteger(1);
           } else {
-            singleNormRef.incRef();
+            singleNormRef.incrementAndGet();
           }
           // All norms in the .nrm file can share a single IndexInput since
           // they are only used in a synchronized context.

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/CachingWrapperFilter.java Fri Dec 11 16:22:30 2009
@@ -35,7 +35,7 @@
   /**
    * A transient Filter cache (package private because of test)
    */
-  transient Map<IndexReader, DocIdSet> cache;
+  transient Map<IndexReader,DocIdSet> cache;
   
   private final ReentrantLock lock = new ReentrantLock();
 

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCache.java Fri Dec 11 16:22:30 2009
@@ -584,7 +584,7 @@
    * NOTE: These CacheEntry objects maintain a strong reference to the 
    * Cached Values.  Maintaining references to a CacheEntry the IndexReader 
    * associated with it has garbage collected will prevent the Value itself
-   * from being garbage collected when the Cache drops the WeakRefrence.
+   * from being garbage collected when the Cache drops the WeakReference.
    * </p>
    * <p>
    * <b>EXPERIMENTAL API:</b> This API is considered extremely advanced 

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/FieldCacheImpl.java Fri Dec 11 16:22:30 2009
@@ -697,12 +697,6 @@
           }
 
           // store term text
-          // we expect that there is at most one term per document
-          if (t >= mterms.length) {
-            throw new RuntimeException ("there are more terms than " +
-                                        "documents in field \"" + field + "\", but it's impossible to sort on " +
-                                        "tokenized fields");
-          }
           mterms[t] = term.toString();
 
           final DocsEnum docs = termsEnum.docs(delDocs);

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Filter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Filter.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Filter.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/Filter.java Fri Dec 11 16:22:30 2009
@@ -22,12 +22,28 @@
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.util.DocIdBitSet;
 
-/** Abstract base class providing a mechanism to use a subset of an index
+/** 
+ *  Abstract base class providing a mechanism to use a subset of an index
  *  for restriction or permission of index search results.
  *  <p>
  */
 public abstract class Filter implements java.io.Serializable {
+  
   /**
+   * Creates a {@link DocIdSet} that provides the documents which should be
+   * permitted or prohibited in search results. <b>NOTE:</b> null can be
+   * returned if no documents will be accepted by this Filter.
+   * <p>
+   * Note: This method might be called more than once during a search if the
+   * index has more than one segment. In such a case the {@link DocIdSet}
+   * must be relative to the document base of the given reader. Yet, the
+   * segment readers are passed in increasing document base order.
+   * 
+   * @param reader a {@link IndexReader} instance opened on the index currently
+   *         searched on. Note, it is likely that the provided reader does not
+   *         represent the whole underlying index i.e. if the index has more than
+   *         one segment the given reader only represents a single segment.
+   *          
    * @return a DocIdSet that provides the documents which should be permitted or
    *         prohibited in search results. <b>NOTE:</b> null can be returned if
    *         no documents will be accepted by this Filter.

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/IndexSearcher.java Fri Dec 11 16:22:30 2009
@@ -145,6 +145,7 @@
   }
   
   // inherit javadoc
+  @Override
   public Document doc(int i, FieldSelector fieldSelector) throws CorruptIndexException, IOException {
 	    return reader.document(i, fieldSelector);
   }
@@ -157,12 +158,14 @@
 
   // inherit javadoc
   @Override
-  public TopDocs search(Weight weight, Filter filter, final int nDocs) throws IOException {
+  public TopDocs search(Weight weight, Filter filter, int nDocs) throws IOException {
 
     if (nDocs <= 0) {
       throw new IllegalArgumentException("nDocs must be > 0");
     }
 
+    nDocs = Math.min(nDocs, reader.numDocs());
+
     TopScoreDocCollector collector = TopScoreDocCollector.create(nDocs, !weight.scoresDocsOutOfOrder());
     search(weight, filter, collector);
     return collector.topDocs();
@@ -177,23 +180,19 @@
   /**
    * Just like {@link #search(Weight, Filter, int, Sort)}, but you choose
    * whether or not the fields in the returned {@link FieldDoc} instances should
-   * be set by specifying fillFields.<br>
-   * <b>NOTE:</b> currently, this method tracks document scores and sets them in
-   * the returned {@link FieldDoc}, however in 3.0 it will move to not track
-   * document scores. If document scores tracking is still needed, you can use
-   * {@link #search(Weight, Filter, Collector)} and pass in a
-   * {@link TopFieldCollector} instance.
+   * be set by specifying fillFields.
+   *
+   * <p>NOTE: this does not compute scores by default.  If you
+   * need scores, create a {@link TopFieldCollector}
+   * instance by calling {@link TopFieldCollector#create} and
+   * then pass that to {@link #search(Weight, Filter,
+   * Collector)}.</p>
    */
-  public TopFieldDocs search(Weight weight, Filter filter, final int nDocs,
+  public TopFieldDocs search(Weight weight, Filter filter, int nDocs,
                              Sort sort, boolean fillFields)
       throws IOException {
     
-    SortField[] fields = sort.fields;
-    for(int i = 0; i < fields.length; i++) {
-      SortField field = fields[i];
-      String fieldname = field.getField();
-      int type = field.getType();
-    }
+    nDocs = Math.min(nDocs, reader.numDocs());
     
     TopFieldCollector collector = TopFieldCollector.create(sort, nDocs,
         fillFields, fieldSortDoTrackScores, fieldSortDoMaxScore, !weight.scoresDocsOutOfOrder());

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiSearcher.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiSearcher.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiSearcher.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/MultiSearcher.java Fri Dec 11 16:22:30 2009
@@ -311,32 +311,42 @@
     rewrittenQuery.extractTerms(terms);
 
     // step3
-    final Term[] allTermsArray = new Term[terms.size()];
-    terms.toArray(allTermsArray);
-    int[] aggregatedDfs = new int[terms.size()];
-    for (int i = 0; i < searchables.length; i++) {
-      int[] dfs = searchables[i].docFreqs(allTermsArray);
+    final Map<Term,Integer> dfMap = createDocFrequencyMap(terms);
+
+    // step4
+    final int numDocs = maxDoc();
+    final CachedDfSource cacheSim = new CachedDfSource(dfMap, numDocs, getSimilarity());
+
+    return rewrittenQuery.weight(cacheSim);
+  }
+  /**
+   * Collects the document frequency for the given terms form all searchables
+   * @param terms term set used to collect the document frequency form all
+   *        searchables 
+   * @return a map with a term as the key and the terms aggregated document
+   *         frequency as a value  
+   * @throws IOException if a searchable throws an {@link IOException}
+   */
+   Map<Term, Integer> createDocFrequencyMap(final Set<Term> terms) throws IOException  {
+    final Term[] allTermsArray = terms.toArray(new Term[terms.size()]);
+    final int[] aggregatedDfs = new int[allTermsArray.length];
+    for (Searchable searchable : searchables) {
+      final int[] dfs = searchable.docFreqs(allTermsArray); 
       for(int j=0; j<aggregatedDfs.length; j++){
         aggregatedDfs[j] += dfs[j];
       }
     }
-
     final HashMap<Term,Integer> dfMap = new HashMap<Term,Integer>();
     for(int i=0; i<allTermsArray.length; i++) {
       dfMap.put(allTermsArray[i], Integer.valueOf(aggregatedDfs[i]));
     }
-
-    // step4
-    final int numDocs = maxDoc();
-    final CachedDfSource cacheSim = new CachedDfSource(dfMap, numDocs, getSimilarity());
-
-    return rewrittenQuery.weight(cacheSim);
+    return dfMap;
   }
-
+  
   /**
    * A thread subclass for searching a single searchable 
    */
-  static class MultiSearcherCallableNoSort implements Callable<TopDocs> {
+  static final class MultiSearcherCallableNoSort implements Callable<TopDocs> {
 
     private final Lock lock;
     private final Searchable searchable;
@@ -381,7 +391,7 @@
   /**
    * A thread subclass for searching a single searchable 
    */
-  static class MultiSearcherCallableWithSort implements Callable<TopFieldDocs> {
+  static final class MultiSearcherCallableWithSort implements Callable<TopFieldDocs> {
 
     private final Lock lock;
     private final Searchable searchable;

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ParallelMultiSearcher.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ParallelMultiSearcher.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ParallelMultiSearcher.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/search/ParallelMultiSearcher.java Fri Dec 11 16:22:30 2009
@@ -18,21 +18,22 @@
  */
 
 import java.io.IOException;
-import java.util.List;
-import java.util.Arrays;
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Set;
+import java.util.concurrent.Callable;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 import java.util.concurrent.Future;
-import java.util.concurrent.Callable;
 import java.util.concurrent.locks.Lock;
 import java.util.concurrent.locks.ReentrantLock;
 
 import org.apache.lucene.index.IndexReader;
 import org.apache.lucene.index.Term;
 import org.apache.lucene.util.NamedThreadFactory;
-import org.apache.lucene.util.PriorityQueue;
 import org.apache.lucene.util.ThreadInterruptedException;
 
 /** Implements parallel search over a set of <code>Searchables</code>.
@@ -175,6 +176,25 @@
    }
   }
   
+  @Override
+  HashMap<Term, Integer> createDocFrequencyMap(Set<Term> terms) throws IOException {
+    final Term[] allTermsArray = terms.toArray(new Term[terms.size()]);
+    final int[] aggregatedDocFreqs = new int[terms.size()];
+    final ArrayList<Future<int[]>> searchThreads = new ArrayList<Future<int[]>>(searchables.length);
+    for (Searchable searchable : searchables) {
+      final Future<int[]> future = executor.submit(
+          new DocumentFrequencyCallable(searchable, allTermsArray));
+      searchThreads.add(future);
+    }
+    foreach(new AggregateDocFrequency(aggregatedDocFreqs), searchThreads);
+
+    final HashMap<Term,Integer> dfMap = new HashMap<Term,Integer>();
+    for(int i=0; i<allTermsArray.length; i++) {
+      dfMap.put(allTermsArray[i], Integer.valueOf(aggregatedDocFreqs[i]));
+    }
+    return dfMap;
+  }
+  
   /*
    * apply the function to each element of the list. This method encapsulates the logic how 
    * to wait for concurrently executed searchables.  
@@ -184,9 +204,10 @@
       try{
         func.apply(future.get());
       } catch (ExecutionException e) {
-        if (e.getCause() instanceof IOException)
+        final Throwable throwable = e.getCause();
+        if (throwable instanceof IOException)
           throw (IOException) e.getCause();
-        throw new RuntimeException(e.getCause());
+        throw new RuntimeException(throwable);
       } catch (InterruptedException ie) {
         throw new ThreadInterruptedException(ie);
       }
@@ -216,6 +237,7 @@
       maxScore = Math.max(maxScore, t.getMaxScore());
     }
   }
+  
   /**
    * Accumulates the document frequency for a term.
    */
@@ -226,5 +248,38 @@
       docFreq += t.intValue();
     }
   }
-
+  
+  /**
+   * Aggregates the document frequencies from multiple searchers 
+   */
+  private static final class AggregateDocFrequency implements Function<int[]>{
+    final int[] aggregatedDocFreqs;
+    
+    public AggregateDocFrequency(int[] aggregatedDocFreqs){
+      this.aggregatedDocFreqs = aggregatedDocFreqs;
+    }
+    
+    public void apply(final int[] docFreqs) {
+      for(int i=0; i<aggregatedDocFreqs.length; i++){
+        aggregatedDocFreqs[i] += docFreqs[i];
+      }
+    }
+  }
+  
+  /**
+   * A {@link Callable} to retrieve the document frequencies for a Term array  
+   */
+  private static final class DocumentFrequencyCallable implements Callable<int[]> {
+    private final Searchable searchable;
+    private final Term[] terms;
+    
+    public DocumentFrequencyCallable(Searchable searchable, Term[] terms) {
+      this.searchable = searchable;
+      this.terms = terms;
+    }
+    
+    public int[] call() throws Exception {
+      return searchable.docFreqs(terms);
+    }
+  }
 }

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/NoLockFactory.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/NoLockFactory.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/NoLockFactory.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/NoLockFactory.java Fri Dec 11 16:22:30 2009
@@ -32,6 +32,14 @@
   // Single instance returned whenever makeLock is called.
   private static NoLock singletonLock = new NoLock();
   private static NoLockFactory singleton = new NoLockFactory();
+  
+  /**
+   * @deprecated This constructor was not intended to be public and should not be used.
+   *  It will be made private in Lucene 4.0
+   * @see #getNoLockFactory()
+   */
+  // make private in 4.0!
+  public NoLockFactory() {}
 
   public static NoLockFactory getNoLockFactory() {
     return singleton;

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMDirectory.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMDirectory.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMDirectory.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMDirectory.java Fri Dec 11 16:22:30 2009
@@ -22,6 +22,7 @@
 import java.io.Serializable;
 import java.util.HashMap;
 import java.util.Set;
+import java.util.concurrent.atomic.AtomicLong;
 import org.apache.lucene.util.ThreadInterruptedException;
 
 /**
@@ -34,7 +35,7 @@
   private static final long serialVersionUID = 1l;
 
   HashMap<String,RAMFile> fileMap = new HashMap<String,RAMFile>();
-  long sizeInBytes = 0;
+  final AtomicLong sizeInBytes = new AtomicLong();
   
   // *****
   // Lock acquisition sequence:  RAMDirectory, then RAMFile
@@ -153,7 +154,7 @@
    * RAMOutputStream.BUFFER_SIZE. */
   public synchronized final long sizeInBytes() {
     ensureOpen();
-    return sizeInBytes;
+    return sizeInBytes.get();
   }
   
   /** Removes an existing file in the directory.
@@ -166,7 +167,7 @@
     if (file!=null) {
         fileMap.remove(name);
         file.directory = null;
-        sizeInBytes -= file.sizeInBytes;       // updates to RAMFile.sizeInBytes synchronized on directory
+        sizeInBytes.addAndGet(-file.sizeInBytes);
     } else
       throw new FileNotFoundException(name);
   }
@@ -179,7 +180,7 @@
     synchronized (this) {
       RAMFile existing = fileMap.get(name);
       if (existing!=null) {
-        sizeInBytes -= existing.sizeInBytes;
+        sizeInBytes.addAndGet(-existing.sizeInBytes);
         existing.directory = null;
       }
       fileMap.put(name, file);

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMFile.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMFile.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMFile.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/store/RAMFile.java Fri Dec 11 16:22:30 2009
@@ -27,7 +27,7 @@
   private ArrayList<byte[]> buffers = new ArrayList<byte[]>();
   long length;
   RAMDirectory directory;
-  long sizeInBytes;                  // Only maintained if in a directory; updates synchronized on directory
+  long sizeInBytes;
 
   // This is publicly modifiable via Directory.touchFile(), so direct access not supported
   private long lastModified = System.currentTimeMillis();
@@ -57,16 +57,16 @@
     this.lastModified = lastModified;
   }
 
-  final synchronized byte[] addBuffer(int size) {
+  final byte[] addBuffer(int size) {
     byte[] buffer = newBuffer(size);
-    if (directory!=null)
-      synchronized (directory) {             // Ensure addition of buffer and adjustment to directory size are atomic wrt directory
-        buffers.add(buffer);
-        directory.sizeInBytes += size;
-        sizeInBytes += size;
-      }
-    else
+    synchronized(this) {
       buffers.add(buffer);
+      sizeInBytes += size;
+    }
+
+    if (directory != null) {
+      directory.sizeInBytes.getAndAdd(size);
+    }
     return buffer;
   }
 
@@ -88,11 +88,8 @@
     return new byte[size];
   }
 
-  // Only valid if in a directory
-  long getSizeInBytes() {
-    synchronized (directory) {
-      return sizeInBytes;
-    }
+  synchronized long getSizeInBytes() {
+    return sizeInBytes;
   }
   
 }

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/AttributeImpl.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/AttributeImpl.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/AttributeImpl.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/AttributeImpl.java Fri Dec 11 16:22:30 2009
@@ -51,7 +51,7 @@
   @Override
   public String toString() {
     StringBuilder buffer = new StringBuilder();
-    Class clazz = this.getClass();
+    Class<?> clazz = this.getClass();
     Field[] fields = clazz.getDeclaredFields();
     try {
       for (int i = 0; i < fields.length; i++) {

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/FieldCacheSanityChecker.java Fri Dec 11 16:22:30 2009
@@ -212,7 +212,7 @@
       
       if (seen.contains(rf)) continue;
 
-      List kids = getAllDecendentReaderKeys(rf.readerKey);
+      List<Object> kids = getAllDecendentReaderKeys(rf.readerKey);
       for (Object kidKey : kids) {
         ReaderField kid = new ReaderField(kidKey, rf.fieldName);
         
@@ -270,7 +270,7 @@
    * the hierarchy of subReaders building up a list of the objects 
    * returned by obj.getFieldCacheKey()
    */
-  private List getAllDecendentReaderKeys(Object seed) {
+  private List<Object> getAllDecendentReaderKeys(Object seed) {
     List<Object> all = new ArrayList<Object>(17); // will grow as we iter
     all.add(seed);
     for (int i = 0; i < all.size(); i++) {

Modified: lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/PriorityQueue.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/PriorityQueue.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/PriorityQueue.java (original)
+++ lucene/java/branches/flex_1458/src/java/org/apache/lucene/util/PriorityQueue.java Fri Dec 11 16:22:30 2009
@@ -85,8 +85,23 @@
     if (0 == maxSize)
       // We allocate 1 extra to avoid if statement in top()
       heapSize = 2;
-    else
-      heapSize = maxSize + 1;
+    else {
+      if (maxSize == Integer.MAX_VALUE) {
+        // Don't wrap heapSize to -1, in this case, which
+        // causes a confusing NegativeArraySizeException.
+        // Note that very likely this will simply then hit
+        // an OOME, but at least that's more indicative to
+        // caller that this values is too big.  We don't +1
+        // in this case, but it's very unlikely in practice
+        // one will actually insert this many objects into
+        // the PQ:
+        heapSize = Integer.MAX_VALUE;
+      } else {
+        // NOTE: we add +1 because all access to heap is
+        // 1-based not 0-based.  heap[0] is unused.
+        heapSize = maxSize + 1;
+      }
+    }
     heap = (T[]) new Object[heapSize]; // T is unbounded type, so this unchecked cast works always
     this.maxSize = maxSize;
     

Modified: lucene/java/branches/flex_1458/src/jsp/configuration.jsp
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/jsp/configuration.jsp?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/jsp/configuration.jsp (original)
+++ lucene/java/branches/flex_1458/src/jsp/configuration.jsp Fri Dec 11 16:22:30 2009
@@ -15,7 +15,6 @@
     limitations under the License.
  -->
 <%
-/* Author: Andrew C. Oliver (acoliver2@users.sourceforge.net) */
 String appTitle = "Apache Lucene Example - Intranet Server Search Application";
 /* make sure you point the below string to the index you created with IndexHTML */
 String indexLocation = "/opt/lucene/index";

Modified: lucene/java/branches/flex_1458/src/jsp/footer.jsp
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/jsp/footer.jsp?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/jsp/footer.jsp (original)
+++ lucene/java/branches/flex_1458/src/jsp/footer.jsp Fri Dec 11 16:22:30 2009
@@ -14,7 +14,6 @@
     See the License for the specific language governing permissions and
     limitations under the License.
  -->
-<% /* Author Andrew C. Oliver (acoliver2@users.sourceforge.net) */ %>
 <p align="center">
 	<%=appfooter%>
 </p>

Modified: lucene/java/branches/flex_1458/src/jsp/header.jsp
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/jsp/header.jsp?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/jsp/header.jsp (original)
+++ lucene/java/branches/flex_1458/src/jsp/header.jsp Fri Dec 11 16:22:30 2009
@@ -15,7 +15,6 @@
     limitations under the License.
  -->
 <%@include file="configuration.jsp"%>
-<% /* Author: Andrew C. Oliver (acoliver2@users.sourceforge.net */ %>
 <html>
 <head>
 	<title><%=appTitle%></title>

Modified: lucene/java/branches/flex_1458/src/jsp/index.jsp
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/jsp/index.jsp?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/jsp/index.jsp (original)
+++ lucene/java/branches/flex_1458/src/jsp/index.jsp Fri Dec 11 16:22:30 2009
@@ -15,7 +15,6 @@
     limitations under the License.
  -->
 <%@include file="header.jsp"%>
-<% /* Author: Andrew C. Oliver (acoliver2@users.sourceforge.net) */ %>
 <center> 
 	<form name="search" action="results.jsp" method="get">
 		<p>

Modified: lucene/java/branches/flex_1458/src/jsp/results.jsp
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/jsp/results.jsp?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/jsp/results.jsp (original)
+++ lucene/java/branches/flex_1458/src/jsp/results.jsp Fri Dec 11 16:22:30 2009
@@ -18,7 +18,6 @@
 
 <%
 /*
-        Author: Andrew C. Oliver, SuperLink Software, Inc. (acoliver2@users.sourceforge.net)
 
         This jsp page is deliberatly written in the horrible java directly embedded 
         in the page style for an easy and concise demonstration of Lucene.
@@ -95,7 +94,7 @@
 
                 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);           //construct our usual analyzer
                 try {
-                        QueryParser qp = new QueryParser("contents", analyzer);
+                        QueryParser qp = new QueryParser(Version.LUCENE_CURRENT, "contents", analyzer);
                         query = qp.parse(queryString); //parse the 
                 } catch (ParseException e) {                          //query and construct the Query
                                                                       //object

Modified: lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/lucene-contrib/index.xml
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/lucene-contrib/index.xml?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/lucene-contrib/index.xml (original)
+++ lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/lucene-contrib/index.xml Fri Dec 11 16:22:30 2009
@@ -63,13 +63,7 @@
             <section id="benchmark"><title>benchmark</title>
                 <p>The benchmark contribution contains tools for benchmarking Lucene using standard, freely available corpora.</p>
                 <p>See <a href="../api/contrib-benchmark/index.html">benchmark javadoc</a></p>
-            </section>
-            
-            <section id="collation"><title>collation</title>
-                <p>CollationKeyFilter/Analyzer and ICUCollationKeyFilter/Analyzer - can be used as an efficient replacement for Locale 
-                sorting and Locale range queries as well as Locale-specific normalization </p>
-                <p>See <a href="../api/contrib-collation/index.html">collation javadoc</a></p>
-            </section>
+            </section>            
             
             <section id="db"><title>db</title>
                 <p>Provides integration with Berkley DB.</p>
@@ -87,6 +81,12 @@
                 <p>See <a href="../api/contrib-fast-vector-highlighter/index.html">fast-vector-highlighter javadoc</a></p>
             </section>
 
+            <section id="icu"><title>icu</title>
+                <p>Provides integration with ICU (International Components for Unicode) for
+                stronger Unicode and internationalization support. </p>
+                <p>See <a href="../api/contrib-icu/index.html">icu javadoc</a></p>
+            </section>
+            
             <section id="instantiated"><title>instantiated</title>
                 <p>RAM-based index that enables much faster searching than RAMDirectory in certain situations.</p>
                 <p>See <a href="../api/contrib-instantiated/index.html">instantiated javadoc</a></p>

Modified: lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/site.xml
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/site.xml?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/site.xml (original)
+++ lucene/java/branches/flex_1458/src/site/src/documentation/content/xdocs/site.xml Fri Dec 11 16:22:30 2009
@@ -58,9 +58,9 @@
 		    <javadoc-contrib-bdb label="Bdb" href="ext:javadocs-contrib-bdb"/>
 		    <javadoc-contrib-bdb-je label="Bdb-je" href="ext:javadocs-contrib-bdb-je"/>
 		    <javadoc-contrib-benchmark label="Benchmark" href="ext:javadocs-contrib-benchmark"/>
-        <javadoc-contrib-collation label="Collation" href="ext:javadocs-contrib-collation"/>
 		    <javadoc-contrib-fast-vector-highlighter label="Fast Vector Highlighter" href="ext:javadocs-contrib-fast-vector-highlighter"/>
 		    <javadoc-contrib-highlighter label="Highlighter" href="ext:javadocs-contrib-highlighter"/>
+		    <javadoc-contrib-icu label="ICU" href="ext:javadocs-contrib-icu"/>
 		    <javadoc-contrib-instantiated label="Instantiated" href="ext:javadocs-contrib-instantiated"/>
 		    <javadoc-contrib-lucli label="Lucli" href="ext:javadocs-contrib-lucli"/>
 		    <javadoc-contrib-memory label="Memory" href="ext:javadocs-contrib-memory"/>
@@ -113,9 +113,9 @@
 	<javadocs-contrib-bdb href="api/contrib-bdb/index.html"/>
 	<javadocs-contrib-bdb-je href="api/contrib-bdb-je/index.html"/>
 	<javadocs-contrib-benchmark href="api/contrib-benchmark/index.html"/>
-	<javadocs-contrib-collation href="api/contrib-collation/index.html"/>
 	<javadocs-contrib-fast-vector-highlighter href="api/contrib-fast-vector-highlighter/index.html"/>
 	<javadocs-contrib-highlighter href="api/contrib-highlighter/index.html"/>
+    <javadocs-contrib-icu href="api/contrib-icu/index.html"/>
 	<javadocs-contrib-instantiated href="api/contrib-instantiated/index.html"/>
 	<javadocs-contrib-lucli href="api/contrib-lucli/index.html"/>
 	<javadocs-contrib-memory href="api/contrib-memory/index.html"/>

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestDemo.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestDemo.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestDemo.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestDemo.java Fri Dec 11 16:22:30 2009
@@ -35,7 +35,6 @@
 import org.apache.lucene.store.RAMDirectory;
 import org.apache.lucene.util.LuceneTestCase;
 import org.apache.lucene.util.Version;
-import org.apache.lucene.util._TestUtil;
 
 /**
  * A very simple demo used in the API documentation (src/java/overview.html).

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSearchForDuplicates.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSearchForDuplicates.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSearchForDuplicates.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSearchForDuplicates.java Fri Dec 11 16:22:30 2009
@@ -30,7 +30,6 @@
 import org.apache.lucene.util.Version;
 
 import org.apache.lucene.util.LuceneTestCase;
-import org.apache.lucene.util.Version;
 import junit.framework.TestSuite;
 import junit.textui.TestRunner;
 

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/TestSnapshotDeletionPolicy.java Fri Dec 11 16:22:30 2009
@@ -19,7 +19,6 @@
  * limitations under the License.
  */
 
-import java.util.Iterator;
 import java.util.Collection;
 import java.io.File;
 import java.io.IOException;
@@ -79,7 +78,7 @@
         writer.commit();
       }
     }
-    IndexCommit cp = (IndexCommit) dp.snapshot();
+    IndexCommit cp = dp.snapshot();
     copyFiles(dir, cp);
     writer.close();
     copyFiles(dir, cp);
@@ -181,7 +180,7 @@
   public void backupIndex(Directory dir, SnapshotDeletionPolicy dp) throws Exception {
     // To backup an index we first take a snapshot:
     try {
-      copyFiles(dir, (IndexCommit) dp.snapshot());
+      copyFiles(dir,  dp.snapshot());
     } finally {
       // Make sure to release the snapshot, otherwise these
       // files will never be deleted during this IndexWriter
@@ -195,10 +194,8 @@
     // While we hold the snapshot, and nomatter how long
     // we take to do the backup, the IndexWriter will
     // never delete the files in the snapshot:
-    Collection files = cp.getFileNames();
-    Iterator it = files.iterator();
-    while(it.hasNext()) {
-      final String fileName = (String) it.next();
+    Collection<String> files = cp.getFileNames();
+    for (final String fileName : files) { 
       // NOTE: in a real backup you would not use
       // readFile; you would need to use something else
       // that copies the file to a backup location.  This

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/BaseTokenStreamTestCase.java Fri Dec 11 16:22:30 2009
@@ -17,7 +17,6 @@
  * limitations under the License.
  */
 
-import java.util.Set;
 import java.io.StringReader;
 import java.io.IOException;
  

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestASCIIFoldingFilter.java Fri Dec 11 16:22:30 2009
@@ -1871,7 +1871,7 @@
     };
 
     // Construct input text and expected output tokens
-    List expectedOutputTokens = new ArrayList();
+    List<String> expectedOutputTokens = new ArrayList<String>();
     StringBuilder inputText = new StringBuilder();
     for (int n = 0 ; n < foldings.length ; n += 2) {
       if (n > 0) {
@@ -1892,9 +1892,9 @@
     TokenStream stream = new WhitespaceTokenizer(new StringReader(inputText.toString()));
     ASCIIFoldingFilter filter = new ASCIIFoldingFilter(stream);
     TermAttribute termAtt = filter.getAttribute(TermAttribute.class);
-    Iterator expectedIter = expectedOutputTokens.iterator();
+    Iterator<String> expectedIter = expectedOutputTokens.iterator();
     while (expectedIter.hasNext()) {;
-      assertTermEquals((String)expectedIter.next(), filter, termAtt);
+      assertTermEquals(expectedIter.next(), filter, termAtt);
     }
     assertFalse(filter.incrementToken());
   }

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestMappingCharFilter.java Fri Dec 11 16:22:30 2009
@@ -18,7 +18,6 @@
 package org.apache.lucene.analysis;
 
 import java.io.StringReader;
-import java.util.List;
 
 public class TestMappingCharFilter extends BaseTokenStreamTestCase {
 

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStandardAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStandardAnalyzer.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStandardAnalyzer.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStandardAnalyzer.java Fri Dec 11 16:22:30 2009
@@ -1,13 +1,9 @@
 package org.apache.lucene.analysis;
 
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
-import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
-import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
-import org.apache.lucene.analysis.tokenattributes.TermAttribute;
-import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
+
 import org.apache.lucene.util.Version;
 
-import java.io.StringReader;
 
 /**
  * Copyright 2004 The Apache Software Foundation

Modified: lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStopAnalyzer.java
URL: http://svn.apache.org/viewvc/lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStopAnalyzer.java?rev=889683&r1=889682&r2=889683&view=diff
==============================================================================
--- lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStopAnalyzer.java (original)
+++ lucene/java/branches/flex_1458/src/test/org/apache/lucene/analysis/TestStopAnalyzer.java Fri Dec 11 16:22:30 2009
@@ -30,7 +30,7 @@
 public class TestStopAnalyzer extends BaseTokenStreamTestCase {
   
   private StopAnalyzer stop = new StopAnalyzer(Version.LUCENE_CURRENT);
-  private Set inValidTokens = new HashSet();
+  private Set<Object> inValidTokens = new HashSet<Object>();
   
   public TestStopAnalyzer(String s) {
     super(s);
@@ -40,7 +40,7 @@
   protected void setUp() throws Exception {
     super.setUp();
     
-    Iterator it = StopAnalyzer.ENGLISH_STOP_WORDS_SET.iterator();
+    Iterator<?> it = StopAnalyzer.ENGLISH_STOP_WORDS_SET.iterator();
     while(it.hasNext()) {
       inValidTokens.add(it.next());
     }
@@ -59,7 +59,7 @@
   }
 
   public void testStopList() throws IOException {
-    Set stopWordsSet = new HashSet();
+    Set<Object> stopWordsSet = new HashSet<Object>();
     stopWordsSet.add("good");
     stopWordsSet.add("test");
     stopWordsSet.add("analyzer");
@@ -78,7 +78,7 @@
   }
 
   public void testStopListPositions() throws IOException {
-    Set stopWordsSet = new HashSet();
+    Set<Object> stopWordsSet = new HashSet<Object>();
     stopWordsSet.add("good");
     stopWordsSet.add("test");
     stopWordsSet.add("analyzer");



Mime
View raw message