doc: website features update

git-svn-id: https://svn.apache.org/repos/asf/lucene/solr/trunk@831504 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Yonik Seeley 2009-10-31 01:37:34 +00:00
parent e64479efc2
commit 2e37f69d3f
3 changed files with 198 additions and 140 deletions

View File

@ -224,7 +224,7 @@ document.write("Last Published: " + document.lastModified);
<li> Optimized for High Volume Web Traffic </li>
<li> Standards Based Open Interfaces - XML and HTTP </li>
<li> Standards Based Open Interfaces - XML,JSON and HTTP </li>
<li> Comprehensive HTML Administration Interfaces </li>
@ -249,7 +249,7 @@ document.write("Last Published: " + document.lastModified);
<li> Powerful Extensions to the Lucene Query Language </li>
<li> Support for Dynamic Faceted Browsing and Filtering </li>
<li> Faceted Search and Filtering </li>
<li> Advanced, Configurable Text Analysis </li>
@ -263,24 +263,26 @@ document.write("Last Published: " + document.lastModified);
<li> Monitorable Logging </li>
<li> Fast Incremental Updates and Snapshot Distribution </li>
<li> Fast Incremental Updates and Index Replication </li>
<li> Distributed search with sharded index on multiple hosts </li>
<li> Highly Scalable Distributed search with sharded index across multiple hosts </li>
<li> XML and CSV/delimited-text update formats </li>
<li> XML, CSV/delimited-text, and binary update formats </li>
<li> Easy ways to pull in data from databases and XML files from local disk and HTTP sources </li>
<li> Rich Document Parsing and Indexing (PDF, Word, HTML, etc) using Apache Tika </li>
<li> Multiple search indices </li>
</ul>
</div>
<a name="N10066"></a><a name="Detailed+Features"></a>
<a name="N10069"></a><a name="Detailed+Features"></a>
<h2 class="boxed">Detailed Features</h2>
<div class="section">
<a name="N1006C"></a><a name="Schema"></a>
<a name="N1006F"></a><a name="Schema"></a>
<h3 class="boxed">Schema</h3>
<ul>
@ -301,11 +303,11 @@ document.write("Last Published: " + document.lastModified);
<li>Many additional text analysis components including word splitting, regex and sounds-like filters</li>
</ul>
<a name="N1008D"></a><a name="Query"></a>
<a name="N10090"></a><a name="Query"></a>
<h3 class="boxed">Query</h3>
<ul>
<li>HTTP interface with configurable response formats (XML/XSLT, JSON, Python, Ruby)</li>
<li>HTTP interface with configurable response formats (XML/XSLT, JSON, Python, Ruby, PHP, Velocity, binary)</li>
<li>Sort by any number of fields</li>
@ -313,49 +315,66 @@ document.write("Last Published: " + document.lastModified);
<li>Highlighted context snippets</li>
<li>Faceted Searching based on unique field values and explicit queries</li>
<li>Faceted Searching based on unique field values, explicit queries, or date ranges</li>
<li>Multi-Select Faceting by tagging and selectively excluding filters</li>
<li>Spelling suggestions for user queries</li>
<li>More Like This suggestions for given document</li>
<li>Constant scoring range and prefix queries - no idf, coord, or lengthNorm factors, and no restriction on the number of terms the query matches.</li>
<li>Function Query - influence the score by user specified complex functions of
numeric fields or query relevancy scores.</li>
<li>Function Query - influence the score by a function of a field's numeric value or ordinal</li>
<li>Range filter over Function Query results</li>
<li>Date Math - specify dates relative to "NOW" in queries and updates</li>
<li>Dynamic search results clustering using Carrot2</li>
<li>Numeric field statistics such as min, max, average, standard deviation </li>
<li>Combine queries derived from different syntaxes</li>
<li>Auto-suggest functionality</li>
<li>Allow configuration of top results for a query, overriding normal scoring and sorting</li>
<li>Performance Optimizations</li>
</ul>
<a name="N100B7"></a><a name="Core"></a>
<a name="N100CC"></a><a name="Core"></a>
<h3 class="boxed">Core</h3>
<ul>
<li>Dynamically create and delete document collections without restarting</li>
<li>Pluggable query handlers and extensible XML data format</li>
<li>Pluggable user functions for Function Query</li>
<li>Customizable component based request handler with distributed search support</li>
<li>Document uniqueness enforcement based on unique key field</li>
<li>Batches updates and deletes for high performance</li>
<li>Duplicate document detection, including fuzzy near duplicates</li>
<li>Custom index processing chains, allowing document manipulation before indexing</li>
<li>User configurable commands triggered on index changes</li>
<li>Searcher concurrency control</li>
<li>Correct handling of numeric types for both sorting and range queries</li>
<li>Ability to control where docs with the sort field missing will be placed</li>
<li>"Luke" request handler for corpus information</li>
</ul>
<a name="N100D8"></a><a name="Caching"></a>
<a name="N100F3"></a><a name="Caching"></a>
<h3 class="boxed">Caching</h3>
<ul>
<li>Configurable Query Result, Filter, and Document cache instances</li>
<li>Pluggable Cache implementations</li>
<li>Pluggable Cache implementations, including a lock free, high concurrency implementation</li>
<li>Cache warming in background
<ul>
@ -371,7 +390,7 @@ document.write("Last Published: " + document.lastModified);
<ul>
<li>The most recently accessed items in the caches of the current
searcher are re-populated in the new searcher, enabing high cache hit
searcher are re-populated in the new searcher, enabling high cache hit
rates across index/searcher changes.</li>
</ul>
@ -383,23 +402,31 @@ document.write("Last Published: " + document.lastModified);
<li>User level caching with autowarming support</li>
</ul>
<a name="N100FD"></a><a name="Replication"></a>
<a name="N10118"></a><a name="Replication"></a>
<h3 class="boxed">Replication</h3>
<ul>
<li>Efficient distribution of index parts that have changed via rsync transport</li>
<li>Efficient distribution of index parts that have changed</li>
<li>Pull strategy allows for easy addition of searchers</li>
<li>Configurable distribution interval allows tradeoff between timeliness and cache utilization</li>
<li>Replication and automatic reloading of configuration files</li>
</ul>
<a name="N1010F"></a><a name="Admin+Interface"></a>
<a name="N1012D"></a><a name="Admin+Interface"></a>
<h3 class="boxed">Admin Interface</h3>
<ul>
<li>Comprehensive statistics on cache utilization, updates, and queries</li>
<li>Interactive schema browser that includes index statistics</li>
<li>Replication monitoring</li>
<li>Full logging control</li>
<li>Text analysis debugger, showing result of every stage in an analyzer</li>
<li>Web Query Interface w/ debugging output

View File

@ -8,7 +8,7 @@ endobj
<< /Length 751 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gb!$E9lHOU&;KZO$MUtheF<c%E(n\c.90@s%6_*^38e)(=P+P@2ZLKLYh2?Y=K,1IHWUfk*r?gebhT)3oo9(d63P_bJF$VY+E.T?5j!hf@digu6-<]!*l42fIB?M5GF:(Qq?jk];/?pch7.H.87t%CQ#bHael&&<fc%ggOM64L%]4-77k%D<G`JTr+k8R>H5?TEmX"#IKe^N1%k^cM<:sI(p<fbj]5cDhS^b6Ar%W`Lg`K#(3]+YZUVS&Ge`;FqTC/c+jMQR\mDd!P5BaUiA5uodhLtq&ZMOn@8Bhm$%9X/FifK+DA2tKuH6/$kX_aQ)$h#BikV?:f[S)8CH247hHM2qnkK_`Z12f&EI$a]ShhBXm,.nEu]d-!SCpJ2:VMcVgeaK:LAL0L.SJ8Y62H4H;LIK5cpi:Q1&e0*fj"i`D[9*]gCo2^+$@*=9J^0>`jd-]MO3B<='Cr1M0d(i>LJHPc?C?%g`f-L_kqY)ldiiA$/OOm]]10pBJU)Lj#%oLR$`GeL:,Beo9^V*56roQF@<HP,b`g54BbIt_%'i<4?iN]hW\P5TQ`qO>+V)O[N.=X4N,4plGD>X!A5@]=+8rD@^$Tt9,$QANbr2;YRlg%T)LV#.]=q@`."[REPH9<X@6dDg%j$=,gD5r$63tRV$CTK\@`Dfm)+[F,VSYM[X7B)#f<K`M$p0@i'`F^q]K)DVR.ZDbrDP-5cE?Es]MBm<9s\]cg$%%*4^5A'@EbE4rs_#'46c~>
Gb!$E9lHOU&;KZO$MUtheF<c%E(n\c.90@s%6_*^38e)(=P+P@2ZLKLYh2?Y=K,1IHWUfk*r?gebhT)3oo9(d63P_bJF$VY+E.T?5j!hf@digu6-<]!*l42fIB?M5GF:(Qq?jk];/?pch7.H.87t%CQ#bHael&&<fc%ggOM64L%]4-77k%D<G`JTr+k8R>H5?TEmX"#IKe^N1%k^cM<:sI(p<fbj]5cDhS^b6Ar%W`Lg`K#(3]+YZUVS&Ge`;FqTC/c+jMQR\mDd!P5BaUiA5uodhLtq&ZMOn@8Bhm$%9X/FifK+DA2tKuH6/$kX_aQ)$h#BikV?:f[S)8CH247hHM2qnkK_`Z12f&EI$a]ShhBXm,.nEu]d-!SCpJ2:VMcVgeaK:LAL0L.SJ8Y62H4H;LIK5cpi:Q1&e0*fj"i`D[9*]gCo2^+$@*=9J^0>`jd-]MO3B<='Cr1M0d(i>LJHPc?C?%g`f-L_kqY)ldiiA$/OOm]]10pBJU)Lj#%oLR$`GeL:,Beo9^V*56roQF@<HP,b`ai'\;3hBaIQn(/L()g:\%JMR2EMgornmF3$)Pi,%T/=\20's,CB9Vr9/Xlmqo87(YL;6DRL.:gtZmfe)5T1hY"Pp7M1UGR:Ha0#m3eOIIIg'g:!):&OJ/u;96DQ&2OM(c9Pi*0GX<G=d=b/]8l8/@G"]cU$*"Mim#Tpa/iq/l^pLhGBQ\^kC#*ODjkO4c:5Qlle/SO%:]kgqJSN#46l~>
endstream
endobj
6 0 obj
@ -124,10 +124,10 @@ endobj
>>
endobj
26 0 obj
<< /Length 2081 /Filter [ /ASCII85Decode /FlateDecode ]
<< /Length 2116 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gatm=>B?8n'Roe[@/JI!Caf&$UZ9:0GEXqeh/7GFq]LN-CPmZM8E0XF4T^7r*#$P4-Sl&1?,#dk3u9?4bK9Etnmc.m5o:HI-N6''.K6nJ(haiFB`0#;^!S1#Tc9H`3q1mD`UefJlDEr^S8,+Ha3!F`np9_>VWb6h:CM(rJJmCde=*(k%Ga0a\^UP'C$Mn/$`fl]jW[@-Cp?r''D_F;.Z5lQP#pAPg@C;ZMch_'k(([!oYC&D[SXFIBWbrN%5\fcAa5<5TK5D;S4$8>,`PBYV,Y1(Bh<Tq=b5EEPji@Eg\dY;koX$<4h8?1?!W93/><D9_S2eeVg%Tk"oljtfuU5b?mM#8&a7esB:ME@%PS]sc-ArWr9\&`P(^jGbmTiWoT>u>(Z/Q@\+^:cpj.93)k"S>m;dL(L\sY2q>N2ZAU6(dCq[Ac+u?+d.IqB?lGeB;V\*M7Zj/1\7?s*kI[K6igcR/-fCsF.D.`]X=`2jkWQ\&?Hnum)5a]Rc,`T$*k>d[M/EnCR]K"?cN9"Ng&lpb2MZIpkUKaM?_#WqSmR(<d*W(]PXY[VDCkH,DaV)s`D#Zq*ZE`J$]k5Y7>h@Jb;/fh%['`-h(lA'O'H$e(S0E*j'>D%)MK<(qW1fN@._>^.2XKu_-FS$>=glL6h9rZ,o_EZe+\gu;93G,4;R3BZec8/Ip3IEB97"qD.#L;I/--3<O>Z94SgbVOL4DL+^\0'kQ_ge-35h+K%]287rEqnVIL?EqN@XBl9&NldQ9fn_Y<L>r@F:4Zb7%6!\!WqZ8WI)e1#h+\3FOVeMoC4tMrtBLkuC&s`&s#N?4uA3RZJ4JLpD-I2H?fg!SDrbcC;e'esiib9;-h=fNhBlE.47-0j.)CZJlSM"95^9EBIJ"E!>c*Fe]Rm/NkehL4IfYfmGDka8ruq`_@1F>Yc=Ik(]ut_7<FrbM$Pfriu%'hE&bu*8S$)QDJ-u7[R`DY!RQuS)0NL[9Zr)9sH@67(06hM,O3pg<q#;]ham]+k:Oo:V$\8cY7sA?gUdt_]@lu-8FrY3Fu$"aS)6J5O=2&,J)pF_hbPYI[<2_BWdMn*@nplMUTu6=`JggbG6)?DCVrcK-UGa4cT[Cp0//f.aKo26D>+'T@t;@;2KA0--mWi3jPC-n=1ed^WqZ52O&7E-lQQJgZe3(H6G`$g>Jh2*OQ`RVBjh2CeuR(!;eqi?!uo?Mb]L;aaOMa@Q9/nr/%YBmP=q'ndNE^_+4g?]hgcb*Cr<Q4(2B!H.Aa%SMl4>kIMnO9T82J9Mjn$%P9IoC\8cL#&lTR8B2;e3ldZJbV`A4%:ZTZZ0I)VSbd8o!_\g-9t&`FUCTnO,Gf7';VH1iPaHF.WAoLhrVE&)Ur58k&c*[tH*PW@,ZhjGCfR$)Ph:^J<o!tkYNV:h+mo&XYNDio$\oAM]fnBMM@o7U%aLRqa.'BZMK7'RX<8MI0k*Q61&XV5g#C3@QmUb'5kq'Q6=Em_P*-&nj:&-(2q!W&LsCp]8V,m\"53EZcFca^Ci]=k.tu!3B05e@MA3bX;_5=g$1=b;P[kAlFNfX2_oKkDhGAuN*a<.i5N>FM3T3Nl'IZ$*]R?Nh@r6jCRDeVGb&,</E$9OV\S[`ueEK8Ogd^E!'eK_jm],E6LdOMV>7Fe+W7q=<!!3e%kLp3[Y97S75$gTq;V%e'g*_]F!=UehT$!=4>pf<O14<O6a5b'p2R#6?`&E7]CP=!$,Y!I4@DimdZaBI_ZPJ6SqBcRD*m^dsU6!tG3L%1fI,6)A(ZN\!1,-R`aik##*F-.:fk$[_cR<LjY`3[1ORimnV)T^%Rc7Lu*)7@08u"l_&`pt01FIpgHMsgJgZ12#lg@7&YbIrt\q:g+_'Fd(BYK<g6F"D6\;JuQ`qT/QpT-7_GKj^*rE[#u%<jJ.Q!8=_Y7!MW<HIJZJe.(YZ(L"@IOfP.gm<Q>f2Cj'N*Kb"#IYC/HJfkNh:8DN[%)h$@N*K4J6uMEplt][L+0,ucd`(%Ch'nTGkmpu&RS2I(V9itlC,"i)29eKXbl>_1l"C<[27N-HlsEBR:fM<f3>,I@84US)YMefC=E%:%^@X'pE+bD!os~>
Gatm=>B?8n'Roe[@/H261_dmYO)>U)Z:UP:mU^%;%l257VAQ7^,i2nC7ps]+CJ'u]A0sSb_0:pRmp))YbK8:Tnmc-siA@n]6iM4F>Q4;sBkS>mA+W"`o\,[+/^lJ&c\:8Z-a1j5ca4_E&Bn6N5#,E9-SOY6@ESu#ou&UD'6jWWfLE3sF^Ve!/9f+kB=@Wk3%+B7c5'P,e;1$fR]=R*<EX-@Out]&0p_8H>O;2"Y7J\of*m(7@@N]RKB=%0BqX^pLi'^hKB`_6E=ti?dPRgmQ83TDV'Qeci!$\n0IieK*fGB"?N7gamE#l$Ygp:SbThiR,lB`Mq<[f,o&*kXV$;3F*h9%\Bn[lofGS=![0+XlBt*\3?/M2A1eCfNmQBNDbT;&@H$8peh7`!mJo<U"C63.1^KE1-qiLiVR+S$cTtOdH6]GDZ/Wh"$plt=*e2+4ZnUa2ghm4B2Je_9`(?XR-0B`%Cg3>nk\mG!J4$pStrm*F-_=Pp'n,Ql4hpXF!:7YHXEkZ(FaQ1;PIkGD0=$5FfQa@SpkIW&YKanmn#BV'YP4/1\(u@<k>KA`/es@og/ueAB[ShaST^+Ir#2sm:BoR`1+jnke'JUg'.p??Q+**+grDmZU9f6p]CM\7cDXl]a&Z9a=%@H1k<f]#V;;/\(G.D!bQ51B1h^gKTBCV"[]I3q8H.HK[!(I#/4piN3&m?9/1'i^_T]$K'.=98pD&;h(nF#FC&&!-hb0*IDJ/P`1[RY'D(:4ub5[8*sZp2Zb.nNtU5uQP8`:ARO7kQGNA7E*g2X9Pf=O2s?#<0erL?#'\(UR)3-P37Y$0rc+/>d\a[HDj:dR%H.V/*fE>0[Sm%_ZkFQ4$kf?Tj^<ru/,rUtX`P2$7L^P!rq.(bQ0pB7]+>Np5RZiYNo$DQlXTcm"GMUpn#4>i<*oHr5O^.Uood3$uj,?O;T'UpcVtcYsHVjWD1TP3]]VkE+7e@L#EB;W"WDOVQOJQu-t.<V=V@Q>!!^QaB0VI1^>LNkX^%ja5'-67.sMbNs:NT]qg?Pj\$o3G1pBB7*H7'H:fb-ef.>&ILsFSF*Oig=h"F4[<\`P+s$J5YK)\B_"f:I+2r.CRT,j\m^4\!&/&U&b%kqNL3(J.</0Kk,:bk3DUb<4X#nK:nH@8:rsGY8#o!;Kf8_#NE'-jd0m$Y8s=\>#<1KG@2m7\$]4,Tk[_5gm"_6JNe8GtIc?2BrIRB.H\,c+E26e\J#`-e$]N?K:-'1m;g!@fB7XLKH/;*>a;(7ZV!0)BOlA]'6N-;l!%sUse:ClPl!T5Zd82DQLkSOCZ6*+hm([9"-(Rf_fk0giIR&?$8T!3`e=P-``!/_`agMiNfB58n,u/_(dGN)IZDYJV5]2^hbdPmo_m(VZC(Pa];Jmpj<EcmomcjD_<,A6;_:,r4*fWQg+BRp&e)WOgkVas65u!J\3`8ms7AhTfi#k07^:]D-!f@1LcV"P*07*>,`D`o8W9Tr(MYJ3?!rB\SWB@_c;r/6@&;CG$mn'*rPpCT!e9.kC)JbK&oOf[Xo^Z"_LY"Z)'D4:1=bL>toA]Xd7sSW(PbO_kMl[OeB^:I9*@YZYU(d/HNnJi+3$ps\3#+k&<r1@J4ha"i]pp<6IE_o?d^#i@6WQ\O8?($%29R0+iFL6Kdm81;rl?KRTQfk!`6D'Z4UqIbE3?Y2G;LEF6F*@Yo;=Mi`,\T(%iaR>C-XCS8\'"t2eQ*u9gruM?r)4"#$;*ASe$7XK0]>E6g`7>hiKa1hl%!,:)I^NYg@:Te4u1m`hD9>+09LrY3Q+hT$m8`?p8,V&L<Mi!r&qYP-'#`g[qUZCP&/"<i/Anoi1Q;>GLtf:3:uf#[<n;O#$u@Gc`\:'Lu&p*Du2Z_6>[eQ6^jQ`K+87TU#X\-H$0u)phY,E1RfS7URI::eZ]sY+iAC$3G8epnWoFh/M'B[Mu^#GB`(>4/l<Q3aJLbbomm$2NXnXU(s%]b9KY$cN&sUMFL)OH!lIB3l]Z,_r+qLD;D:ecOo4MgM/VJ6ph"uXSP_M/ZWC=1Sf2Mh4>JGHNEe5mH5Unj"Bk<2'S>$W);lT:_0SNG`f,O#:e)kGugb]?':Uh=d**[62g0PNEQ4`Nn@=Fq[^i+)V"~>
endstream
endobj
27 0 obj
@ -139,10 +139,10 @@ endobj
>>
endobj
28 0 obj
<< /Length 2373 /Filter [ /ASCII85Decode /FlateDecode ]
<< /Length 2420 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gatm=D0)1+&H88._=YpY1CXNXrio1dhVBGogA%P9\_[RMAQog!W!%*f^]%8A@"k;ARnb>jKir+sT&"fqH+1;.^UX&Y@2g0\q/?pKVIfP:&-'85qL%NfQK`[W+fMZYpjDUL;S]_XdmpUV\ZlU5^c.2EKiL]InBX"-8^B?_cnuS#j6r>l$1V=>rtpYY6-*hq)?JS"NtT0LPdipHGfPtK`[.SoIsJqF\rtm<np$R#oH<1\`Kji5dmNj\?EI>G1613pGFpnOGDl-6s.bbNM3>8H/hs,H<k47T2HF*pq4TPHSQkYQW>MP7^m_08[R\n'^7rr4DpTHZ7gWOuZtE%@gm)TiEr<d<502?s.AH^0A@j/JeOc$;4_k$RUp9'(hfUSCN#1/M)G;!,A?-o#@`:`#Cu=mI"iLmEX"iT3F.T[j(#>k.+igOU.GHQu(\el`%"jAqBOY%\8h-YQZejg]N+_.rE_L,;\KDK-jq^nreF9^l]j/Pi)j+ZYbr2DSa&>JD=h`2b&k\QC0W*o^BDetQIj*rF3YtpbP6,MsDa/b<%m87jM/(WkYBb[`1MaZHkd'n7jo[IEHa06i"h#sW&!BL9WUc!H?>-m3Uub4$L[J"Gcn#NK!BEm$%=R[?E6(J^gSLmn9"pIT.=9R-.g7=XSuW45AVO&q3JRCtg:$kF=]&iL@Uk@Hq;m6+[gEX<UYE3af<dY1lP4tZ4%$8mM!<Qf<n/p]g$/:BUuHn^e68&+>gm\Fp-^Uf*GJ:FJY8LqfQ4h.&s7C&pjKEWf*WK4lSu_gPni&)>gc66TG$`:WE)!%0o!aCQf%4KhgBd\?(g]eq=*Vn>2C?YD8stU0BMcorRGF>=LRJ<o)M;aN<^L[J\]"<WIaYoQb+OY_r]pk@crK>C!Y4+8U-5dDc]^h:N/n9B(@QDl1:YS=BgGf+gK$j1#K:]('cOiCA3>r;s8ubJnpLBnlN]ZQW1d)CSWdpFP7B/+E3o"!mbslb_#73r"QgoYEpi_=e=+,C?kWqL3^r:`3^IpDBN.?738JcY8+o\6c*--j:%P:b&s<8[)=OslSA+.gRme]2k4#,PXJ_3*cd^HRXqd"CoC<M7#p3-e=_&hSrP`cZ^!qJflriLT"WYm`aXiFg9ghup-_d1<`r>g!<//t&2H3-6))X".o<1#3C\.S$-i,ejr6>_OBg-iHQI-QoAC832oKOcCAf&`(A.,/HC[sJ.CL=lg*=AO8Wej,DPRa\kjbejFVt\.V[tED&N98akH$lsbtt'V@pHKE0;2f#>:RmsQo^?gZX>bTNs`mH6967o"$p@C%Je=i5LqA^BL#4mH(E5k_]HZJWoEW>e3"+p6"=\1O+s>.+CQ"CSFBiUB%A"LdFOn)QsI9Zmp\scOQ0kH'=LBu=QqUP1cuT[T!2Q6ra1'No^rBJ_G='#_fhFic^F9R+3gm&8trG'pV>/j^X@)k.5,)9q_p\SZ!YM'JWlN7ih^9D@E/[^Z`%<L%V!:V'l$6pYX9V2bW3-hqKW5C&&L>%"UR+K9&->k"*@`$Wt/D?F]o4l,Mfl&>V^.$i4Ks2ENW:MGnMQlDhdkBZ3$4H7U<K?9'7-5-@)CI#A"OJ^GpkP4OQU#L.n"(,00=gR7/;"?=VQu\l'("h-abo^i$PuJ&6k[S6HXrKE.Wi7YFdUeIm@GN+dI?JjC>T_,jI[(4iKAZ-ZJEC.NfSfYM)],!KCHSg>N<2jVsP[qAE5$:2(V68<SE9f<::\MNhZ8[NaO[7/H<kbYCNRC#W9IY[7FBk^CHB"6Yf(``3!9FSKR00>Bf'%`S?n&2WGI"/b=qRnEIC9@N*#CD7E;@tl?10gIKFk36\bl-:!f"33_ZP8t@7/Q%Z>g9Sg/g8'd>!^$.<kPpo+":seJjLkr+!78!1(^P"e?6@I_HkQg?e/`oP^*o?O6\,3QmE"s:"I9X2Ejm0,CS,Q6PI8arqV57iAkc+%RSVjhMcD%M9tqLM.WF+obd1blL"Z^&3&/4hUk59g>rsOS`6<A.4U`\5MPp+1=%qAn/LBl35efmP?jb\NE5(Rj8)#?XEjYmK\JOl5C=Q2SX,_3fIl4FE?iuhlJQo!3t\,SdfcUP/c'UJ7q9JW[(f/RP:hD6n14fBZI5Vq+eTf6_4;X60Mu:J2R*TO3j0AY*@;T(<fsdr-3f#!,UrhjU.pZlp((/&=(OI$"[JCVT/<CR>qYD5[-NJu(#"<7l7sq-9_R>D/FGY6:J,%pINYn2^]=6>]OO]@-9qf6HJPFiO?(+X_Vf+PID!sgGE=IoX%")Y0+n7#\j)>2SnCO,B7qlsVS0U_%mo+#<Vn3R!H($3>7o$c\lId_C@O3#OB\n1Z?<E:7_4%hUQAY*Obq$A:/`gGZR&dRWVj1[43.:)OLZF)~>
Gatm=gMYb*&:Ml+#lE*Q[45$4lS2,'G)N.j)e6@mFrtCS[Y`.k.T/j.YMZ%Tb>>Vl$Wn*W6<Q\$opcorh;[G3io9]dCTZRYj$i=eNYR9lr9jmemoeTE[d/TIafOUC[u5I*!\X$13I:Yk[;3;U5$=s>S6F'dJ$-2G$pr^>qpo4lrU];%+i.s[?Yf0LKRust'l]^h,7utr`-[e\[%rRDYh.Hbe-`k"W=gQ)qGP[VpWUeZM(DcG=$-N">]_@)#:Jq>oSFSa;pk>U^Jf,"ka!UpiRaT2WU/51ct15DK3ZXML<WcPY(&piPjan)hHKT%$hi4+<mCUg<fu$pVHN"@2JK;)b)9PB#WfF-M,oaN>[bm`/:U(=EKROS0%T4q'H$Tf@fos3jgN;G0CT@1F=5rgVk>.[q0'kKI8Xq8^`#/;S^s7II92%DEM;s01mX)da[Sem^l"8)31fM3$OB;I>8'1_'cBfWl;(El!bW7kpm);fn2!TkS4!cU'>&9j0e&*L%5u8KG[C@QnGfl4f+MM1Y$r]Q)Ep&hZR(mhLa3ce^91(S\oaajMoWIu65c*skEObY>jSns?_@Hl(M0aOU9GF1m>p=9&4J`We@U`e/bCAjD%QPle_X2D"B2N@'mij21-eUVV,:2\/soI)D'W8L)X1[V<'k=L"YV!rQ#+^:#!P03U;60><9BH:jXfH,N8hu&'jAr6guR,ZGj]gBrp@>#rZ*uggp5)1Fo'#E+0@\q"TXOX@l*"c!mdOGaE"t(Z#O:.FidricR*h=j0so2405-lSq64]Xrk&!&g4\_r+R59\@1S2;j%/,U7dYDZrl*$!6<4s9ea"r[5h,X#.0Xh69[qP!6:Dbo_A7Ia6h.++87]%'`QGQ?b`8qh+hg-JKB3BQFf(G1W#d1m@^lGmaE0hqMSoF5i<,8!X>=ZmcWo@_X\r/N[OYNNrn'Oosi=@<&RBSA@UVe[9_cUA3+Q'+[g:<SftAp<mSt]JVjS_dsE]c.4W9nqc)t@N0Y)lCs^%RY;\EU18]9Q);,&7MK3-*jp4L.fQtPZiaIhR#+U["_M:7@jp@-*]BfdY1\afL^+]Ra$=4E_*1)(,Qro5LU+=2uW&mA/qmq\>+E]qdR*R7u_.b:/V?`OjJ"r`G#JEIao+RZo$=*`@.M_8*_F#I5VKi:i]#)23*SKd#;CXtIep]BfK!J+up"F450epjt0,PCB>Kr`LW6=7ce+S@<'*6"-&RZ;(bD^LR[0F*T5*dS=XYMBrbVJ_J?m9!'ES(B5D-l5Db$a)F#'U:3qQIa2-u79oWO>Y%UDD(q`'W&g?(kUaA'"`j\'#X9_%i2l^a*U#a>,L*JWnCg:,?:HfWp2;"!MMC0:cdOJL_kYa\`Q?_RKi3iM_nMP/P/r",O*SP4iQ#oUJ)s#U%N[o6603_\tll5N((*`&_'>d9."Jdr^>\]dqM)#3t#Bg^MG^Tgmb4k)9I-+5BZM8b.oq?iU*--fC*g572%'d@<#P"$PdBo)XgG?25RI?L5_e(Dn4_<'kC1BWKA1nVWVd,`tsSh/I,bK1&f8?eY?:_2;,V=9,N;"2h?['R^%X1EsjkIDYRtA1q5p2oa\uV0E,8f`OJ)[`R"M!7S"RM%0rsl:VZ]65HE%IP<*sUF/_1C'FR'^eN0N./GclCIF6UP>p-H*Ca:7.\ARLEeon'XjW"0;)ki?$&meJ`F%o2W_'Z).PG,nFtj\01F@?;dI:4XZOILmN'`0-`p";.)jikdS$(6>dFSWPr"Joi)Vi/^W7<X/nnXroQ9WiQb5Sk!S,dk^rD\1D*)8V*P9=c+E"C4P=#GDu(rH[MD%ca5JMFG.F/EmXReb?YMGHM>X>^]VB"0Ee8nO0G&aL-%*.QW8;17G9Fg#TQ(4)Fq.qPNWU?AA4j4\%4M'*D=-Ji<1eE40TTJ+uKJQ^fN+12qT1+"8*G5-'(@o+d8b&0jBgIcZ"MG>p!9DC.WA[[+Zg,fBI:3JWBC.F@Je'sBZaQl=T$J7Ajj_AJch<LON2bO>u_mnKTbfh_6,>seS=W(0*Y^)=1;:HC0,:82-9[cZFiGhq-#PG?oQN`Sm[kJAaKPb(:_Fl]Z08B&nX:'O0T2,S"/^XYjV2'<l1(pBVm=>8Bc&q>G<V?9KYGiX>BTMk[d0@DZJr)I\,sjCHZ(`\=Q\mOoL0m:n)p3kS(U#:CGid:$5[_7'Z2q'\fub0"qX:C%)i+[f3j:UG%WY.Y2Lc'6k%WAr2)H+h'U#odn!8n1:t_u>o;jbiI*e3h7EOZL]rln4UTtr4&FT\"mDImNcknZgjo?cD3a;9!G0HIYUJ#+A*F5/THcR#+Z]?IF2i7G4IBVr@JK9Ms22BJ.FDY`s/+ma`]q:<Ij@A/%/)iNc^M<^G0.mX$i:VN4;NJ1Q:TjBb!d-J>,aN$?U-;eU23Za4WSKZ(5:,`/4T~>
endstream
endobj
29 0 obj
@ -154,10 +154,10 @@ endobj
>>
endobj
30 0 obj
<< /Length 1546 /Filter [ /ASCII85Decode /FlateDecode ]
<< /Length 2147 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
GatU3a`?E"&A@B[G`/J7$iqWhjlf;&WMFR%7B%9d*$>lg:d^@%5YC`tIDAQj85qE<asDt=f]_bTrEb*u<f>#KiakEggjD:<&ra%2L8"E==a,99ck%K_oT\jrMpI:l<t0s-+Sba&M0[#u^T9=$gfn4Y8'JZl-tFJ.1%eR/n#s>*=1`\5^#*aM-Q@Egf(Q\Slo![%1:'VZ<!U%h8>X-D>M3\#QbTn"QFU:FcHV@C^sQ387G94;9!Fj%>btYuJ-0+iL!]N_+noT(^V/09VchIKd4&iW?<X'"f_S+):ZMf6A2_5>OH&8IlIkpbd=@c*&01E['`!rbLUO2%,QYu_]jC=&>HY!7bYEd32Br?5m'seXA2%:TW-/o/?&@(h<kO!XV5_gFA?aQmVrr\QMnfe]i5'1"hlF`HHu2suU"IrY^96b0i/JE<V>*Z&3-PZi8sF_j^qZ01p*;f!@0)<6":[(bQ$+:n`9Yi`3L<iA/_*bJXLYjtF"F+8\Z+aoaD>cZESW2=NY_kpA^S:[aB`)-SZ*BCA5uqFLliWJ^mK%3n:ub$$aCM%Mnc;!Z2s(GEs0p.?!"$DUZf)tUH"*Mi-!qAORAUs,ka?cH^B6[o$JE+PQ_oOURG)6=l@A8jH3g[(a#N'pd:JN@R04mLq8ZsK_J`hR/nt6dH$Y5.!E70.L5YZ$cjp]0GXs6/KQhiR7`76RFI4ZlZS)-Np1tqgL\W0UELd@'Rd]NZI!eY@.IWE5V`4<VI1Xf9+>W_&H`q!.(BS9c6A]2ps_WRR,e_*F"!B/R;*k\9a*R[E"*o613jbH8KIHRKVB$?gCc7WCeEpSWnb\.<IA).CNYo=d=OM7/uNLSa@*E:H)sGU&-?UNgke@`!X^,)1RHa,C-MhB"t5i?2mF+gq\`3/-_Dh6Lfn?g32:1Q&7ru%kR]HE+ksgVoP96AL8X#T]r="Rd)='6VFG'EJD\jE(.RgGXjAA]`)A2QC*g<_e.V=KG?V0hRDN*5T%3.OqQk;F_mHPPDC3*4:ig]V;GpcgF_oS$[KLSWo>+l^?5j^]0Aa&==_2'uk.,O=d+djDN"@:W>;YrA2$6Ia3Pa_XZ3U4iM<"L'*,mY.+HDP5;t?JJ3$nU&=BhDi>:3=qP/h:J4N59jTk^(.D.Zoh7&F7RGkU?8jPMsj^:81\gTD\cre4X-Dp>6r`%GB^K$3`\meIkoU.X12Hd#/6"Z9(4gpCscjd^f=>Gdqc+8oL#fbjii*83tgb=p,=Q#gOX?U#ZdWgf1C03iq]5Y8G(qUj!Hd(Pr4Ka%Rclo>=?^ifI:F6kKn_9faqZV^AJl?fcJ1=2nLH(i.gocbVc`#ltI1o%(V2P"GU'VQcZr@,/7EdWj,Y.n"kEc+!_?!St[:S-l"lcC`d58%oP,=[`@ee&miks%cp7R$-kG[lI&,U6nV$0&`n$ujU]d&0_FNp\;\K]%El7]-*>1AK/>(eR-WR5Y0++/a8[V@9IfkY]ruVAC,T.j*fmXsSu$`Bucpos"F!D41Q.i6G9q3nZ#B!bT?$B3=f?2-:7B6'iaQh*7HPnGE~>
Gatm=a`?,q&A@rk=Lh+''uL/u*hC9LRE?\2VfJ0KJKc6EASqN>/'cbE_$pjBMThKQbHaC4J_0d7psncNgY7X)(Y$UdpYA8S'AEkG!+%fq]ta2FT=B>d$"iQW5$kl_/)^4K5i9;eTb_e/KA6?Yh$_p*6`iZ$%g\.WlaF2"H2c?6r"mr!f'QfejNg/V!4AS!,-XRo^EjOHX@oHUpj$%EH_,F*fbFo[/^'s4Ujg`!T'&eO9L#O-rLR(.qi9_J8X2(l"/Cp-%@VMOM773Y\\sso\_ck.[graTD(*tm]$LtJ#Cs"E=e-c0Nk@NJI1GJ!Z50QKm5Z\Y%8&6!YB%9QJ^3&EI@;?OQ2/^m`/.'qbp9GdSB3&&hKO21R6FTSD]P#I5<'u?Duf6?,8ru!8aKLQ\4g)/I,3iHj4G\U*8.Kkrd'g/^V1^YQ6gS;oS9'q=_$LpDJtD[l4McpNS"anlE6MoO!EX^B2B;ZJ7tIVPP!566";`lc%fBP$g0=@pggt(7n,E,?+Rik8g<t!M:\fMos&!."mmZa]:s_Q+5H@[AHG!pQg)JY3pfO?+d](!4Ms@HD,R4nZd0.Kibh[),f3-`%n2iJVIm"J8BRf;$>U_Kng2;C(0tMt:86V]FaAfE<%s%p%m3&n=e9e'YUY&<d4Z(.*q:Vr-D%R+n\C@Cbi;R!qNLAB>9";R)Z"JR4a0JDQ]&GUZ?7I`LeutoE_5L<qW5Mm<?kQ2Lh[c""Md<kc;BnZ%BEV)d]i"/gl@jH_#tQRd:"/CU>c`Tf<2/\M[[L$(#60HUUm63<FX6'A]j\*]4S_m,kj/d.3sfifk/Qa;':-7;.Y%%$+%>VIRM12R`,hsmB8'*<+'7UK&<nWX_k)eD62e*gTTYgM]>&B`N>;jPN9;jli.X"?4cEJ=9RqA2H<miZO<(Nh$R*tP8%c!`.WcPXH`%D9ID)tR+D07m]A[k=+'$W&uL(ug!i_t,cq+A'Y`,I6kRBf83FfhMkXjMQ30k_!>od1VP9B2c%)]tBf4L!;l"6XCa=&aK?eHqp(AZ+#PUq:gFHDRQoj^42L)6kS-;=JX]YW:Eu(,g\R>050^ZUtI@*/ECDeD0VWiruDduX^'TirHRO@\T2iL9-_o]upHrTJsZ)6ID,JIf0.6"V*&C:8+<5s:eQ#Zt'+cJ<=`!n,7i_e_&Ia:r1,\tCG9I7;g5eE?KMlELD7#OR(6XgVeHX%Hb\3J0fJQ%_>Ro1<?:.fruE57)aOM!S+JH^-FK\55J/<T_.=iO5V@S6F%SBuCAib_U",bdl(Fi(cY-sf2ch^?BWFho+:X7o/G*G^]E':tMV$q_h`29ql<A$'!M<3AS3N^r#XXl)F8<*<HP^!/r[hO.+o;J[)RWZQ!<8o]&+lGVc,fY'(J1O"N[3_odkUZ+71J2@5i'upX2rBi8=S,cQZl`A$QnkTu7HPhuCQ6.K)lK-D2KH!(Vr]#?p,0/U!2TLl8j7uVaQ]5B<[O&t:6E4oK_,m"A<0+n7-E&uL:quIf9Qf`$'-H^-_9\0`Nk.U3VP"1mIT!DZI$1q8H@W^t6cDecJf9$mW1h+2a-M*_h-=U"E?4%Udfq(l8Xn6]/*i)%[Eo]nVba5KqJE-_6nk0\A(:1Gc>t4QkGtR<+Dc#C2@q"i9d"?,pD-7u;ERK4ojqskW@L+GG4JHO%A]`5Roh=)^kqP<#.QQMDB\N&$QMBCl?Q9Q)ESneQ,]t%f.Us<cWj_bTGfU"\>uH3bZ`c/:"QOk&K9=`LDJn[n-rlVq.AX]eZM32@sP?Fq[Or!KUmO0$5g4d56(H\.IlVf8>`e7rQ3cH(HN9HkPMEBk/I/VGpdeo8BQTQ)JVp:Z1XbFk+m"X`?l:VQE:\n^#+oE&""C%[lG/4C3B$>Suo?^YlToBXSsn#Xm-B`;_o=*H;\c7Fj#WYe:j%4%Qu=q*_DoI0"[k'\oarO@7]B3E$j,tjZ#<Ild'\sN!F9$<&]EP`V4]@[s01dk6)cL!ArFPlYL^[2tg:A5lO&^h<W@td)ZGdgrQm4TRc""d"ek7bf>"M,1IYh(V#/4JuSEm2Q6).3:O&k"5D&OVp0hoX7f!n<EqjAqGaX<gCEmk1/YfrDPk]@X?Y>6p,Lo1%8Ulk'h7((#SJ'`pTWl-Q>"O=10mAVm=#+;7ON!~>
endstream
endobj
31 0 obj
@ -168,106 +168,121 @@ endobj
/Contents 30 0 R
>>
endobj
32 0 obj
<< /Length 348 /Filter [ /ASCII85Decode /FlateDecode ]
>>
stream
Gat%\btc2"'SZ9D`EeL^6,6CPV.4+rXu+$kB2Mn0PLNJZU[d^TVG5gu)$8d/\VJ?g4,NYDI3Ar_gQ*a/Qp;Y3mYnZjDuJ37pcu#rpWr!V"+p_H+A5+SKXaGoa992oPbfKeiGJ29=egmrDB%Ef^m5:X;\:h<=M7%(Wtc_!CK?.;B9h^U1L0UPbiJFsaa>Td5(S*q\FNu8?_^"s_+.-$1[Zi[P9i7m>1lIlS;>S;93/18o5T`8KDKI-#YpbCp`^Kr3DO&o8`YJsQ_tmHs(e('[c+p<8N6*se!V$r@\tTH!;Co-0DVP>qidF:je0q*OnmAo6IrS$K\=7pe_kL!n/U4*\*nu2~>
endstream
endobj
33 0 obj
<<
/Title (\376\377\0\61\0\40\0\123\0\157\0\154\0\162\0\40\0\151\0\156\0\40\0\141\0\40\0\116\0\165\0\164\0\163\0\150\0\145\0\154\0\154)
/Parent 32 0 R
/Next 34 0 R
/A 9 0 R
>> endobj
34 0 obj
<<
/Title (\376\377\0\62\0\40\0\123\0\157\0\154\0\162\0\40\0\125\0\163\0\145\0\163\0\40\0\164\0\150\0\145\0\40\0\114\0\165\0\143\0\145\0\156\0\145\0\40\0\123\0\145\0\141\0\162\0\143\0\150\0\40\0\114\0\151\0\142\0\162\0\141\0\162\0\171\0\40\0\141\0\156\0\144\0\40\0\105\0\170\0\164\0\145\0\156\0\144\0\163\0\40\0\151\0\164\0\41)
/Parent 32 0 R
/Prev 33 0 R
/Next 35 0 R
/A 11 0 R
>> endobj
<< /Type /Page
/Parent 1 0 R
/MediaBox [ 0 0 612 792 ]
/Resources 3 0 R
/Contents 32 0 R
>>
endobj
35 0 obj
<<
/Title (\376\377\0\63\0\40\0\104\0\145\0\164\0\141\0\151\0\154\0\145\0\144\0\40\0\106\0\145\0\141\0\164\0\165\0\162\0\145\0\163)
/Parent 32 0 R
/First 36 0 R
/Last 41 0 R
/Prev 34 0 R
/Count -6
/A 13 0 R
/Title (\376\377\0\61\0\40\0\123\0\157\0\154\0\162\0\40\0\151\0\156\0\40\0\141\0\40\0\116\0\165\0\164\0\163\0\150\0\145\0\154\0\154)
/Parent 34 0 R
/Next 36 0 R
/A 9 0 R
>> endobj
36 0 obj
<<
/Title (\376\377\0\63\0\56\0\61\0\40\0\123\0\143\0\150\0\145\0\155\0\141)
/Parent 35 0 R
/Title (\376\377\0\62\0\40\0\123\0\157\0\154\0\162\0\40\0\125\0\163\0\145\0\163\0\40\0\164\0\150\0\145\0\40\0\114\0\165\0\143\0\145\0\156\0\145\0\40\0\123\0\145\0\141\0\162\0\143\0\150\0\40\0\114\0\151\0\142\0\162\0\141\0\162\0\171\0\40\0\141\0\156\0\144\0\40\0\105\0\170\0\164\0\145\0\156\0\144\0\163\0\40\0\151\0\164\0\41)
/Parent 34 0 R
/Prev 35 0 R
/Next 37 0 R
/A 15 0 R
/A 11 0 R
>> endobj
37 0 obj
<<
/Title (\376\377\0\63\0\56\0\62\0\40\0\121\0\165\0\145\0\162\0\171)
/Parent 35 0 R
/Title (\376\377\0\63\0\40\0\104\0\145\0\164\0\141\0\151\0\154\0\145\0\144\0\40\0\106\0\145\0\141\0\164\0\165\0\162\0\145\0\163)
/Parent 34 0 R
/First 38 0 R
/Last 43 0 R
/Prev 36 0 R
/Next 38 0 R
/A 17 0 R
/Count -6
/A 13 0 R
>> endobj
38 0 obj
<<
/Title (\376\377\0\63\0\56\0\63\0\40\0\103\0\157\0\162\0\145)
/Parent 35 0 R
/Prev 37 0 R
/Title (\376\377\0\63\0\56\0\61\0\40\0\123\0\143\0\150\0\145\0\155\0\141)
/Parent 37 0 R
/Next 39 0 R
/A 19 0 R
/A 15 0 R
>> endobj
39 0 obj
<<
/Title (\376\377\0\63\0\56\0\64\0\40\0\103\0\141\0\143\0\150\0\151\0\156\0\147)
/Parent 35 0 R
/Title (\376\377\0\63\0\56\0\62\0\40\0\121\0\165\0\145\0\162\0\171)
/Parent 37 0 R
/Prev 38 0 R
/Next 40 0 R
/A 21 0 R
/A 17 0 R
>> endobj
40 0 obj
<<
/Title (\376\377\0\63\0\56\0\65\0\40\0\122\0\145\0\160\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156)
/Parent 35 0 R
/Title (\376\377\0\63\0\56\0\63\0\40\0\103\0\157\0\162\0\145)
/Parent 37 0 R
/Prev 39 0 R
/Next 41 0 R
/A 23 0 R
/A 19 0 R
>> endobj
41 0 obj
<<
/Title (\376\377\0\63\0\56\0\66\0\40\0\101\0\144\0\155\0\151\0\156\0\40\0\111\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145)
/Parent 35 0 R
/Title (\376\377\0\63\0\56\0\64\0\40\0\103\0\141\0\143\0\150\0\151\0\156\0\147)
/Parent 37 0 R
/Prev 40 0 R
/A 25 0 R
/Next 42 0 R
/A 21 0 R
>> endobj
42 0 obj
<<
/Title (\376\377\0\63\0\56\0\65\0\40\0\122\0\145\0\160\0\154\0\151\0\143\0\141\0\164\0\151\0\157\0\156)
/Parent 37 0 R
/Prev 41 0 R
/Next 43 0 R
/A 23 0 R
>> endobj
43 0 obj
<<
/Title (\376\377\0\63\0\56\0\66\0\40\0\101\0\144\0\155\0\151\0\156\0\40\0\111\0\156\0\164\0\145\0\162\0\146\0\141\0\143\0\145)
/Parent 37 0 R
/Prev 42 0 R
/A 25 0 R
>> endobj
44 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F3
/BaseFont /Helvetica-Bold
/Encoding /WinAnsiEncoding >>
endobj
43 0 obj
45 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F5
/BaseFont /Times-Roman
/Encoding /WinAnsiEncoding >>
endobj
44 0 obj
46 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F1
/BaseFont /Helvetica
/Encoding /WinAnsiEncoding >>
endobj
45 0 obj
47 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F2
/BaseFont /Helvetica-Oblique
/Encoding /WinAnsiEncoding >>
endobj
46 0 obj
48 0 obj
<< /Type /Font
/Subtype /Type1
/Name /F7
@ -276,19 +291,19 @@ endobj
endobj
1 0 obj
<< /Type /Pages
/Count 4
/Kids [6 0 R 27 0 R 29 0 R 31 0 R ] >>
/Count 5
/Kids [6 0 R 27 0 R 29 0 R 31 0 R 33 0 R ] >>
endobj
2 0 obj
<< /Type /Catalog
/Pages 1 0 R
/Outlines 32 0 R
/Outlines 34 0 R
/PageMode /UseOutlines
>>
endobj
3 0 obj
<<
/Font << /F3 42 0 R /F5 43 0 R /F1 44 0 R /F2 45 0 R /F7 46 0 R >>
/Font << /F3 44 0 R /F5 45 0 R /F1 46 0 R /F2 47 0 R /F7 48 0 R >>
/ProcSet [ /PDF /ImageC /Text ] >>
endobj
9 0 obj
@ -306,105 +321,107 @@ endobj
13 0 obj
<<
/S /GoTo
/D [27 0 R /XYZ 85.0 233.532 null]
/D [27 0 R /XYZ 85.0 220.332 null]
>>
endobj
15 0 obj
<<
/S /GoTo
/D [27 0 R /XYZ 85.0 202.398 null]
/D [27 0 R /XYZ 85.0 189.198 null]
>>
endobj
17 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 547.4 null]
/D [29 0 R /XYZ 85.0 534.2 null]
>>
endobj
19 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 352.947 null]
/D [29 0 R /XYZ 85.0 247.347 null]
>>
endobj
21 0 obj
<<
/S /GoTo
/D [29 0 R /XYZ 85.0 211.294 null]
/D [31 0 R /XYZ 85.0 613.4 null]
>>
endobj
23 0 obj
<<
/S /GoTo
/D [31 0 R /XYZ 85.0 535.4 null]
/D [31 0 R /XYZ 85.0 393.747 null]
>>
endobj
25 0 obj
<<
/S /GoTo
/D [31 0 R /XYZ 85.0 446.547 null]
/D [31 0 R /XYZ 85.0 291.694 null]
>>
endobj
32 0 obj
34 0 obj
<<
/First 33 0 R
/Last 35 0 R
/First 35 0 R
/Last 37 0 R
>> endobj
xref
0 47
0 49
0000000000 65535 f
0000011291 00000 n
0000011370 00000 n
0000011462 00000 n
0000012522 00000 n
0000012608 00000 n
0000012700 00000 n
0000000015 00000 n
0000000071 00000 n
0000000913 00000 n
0000001033 00000 n
0000001114 00000 n
0000011585 00000 n
0000012823 00000 n
0000001249 00000 n
0000011648 00000 n
0000012886 00000 n
0000001386 00000 n
0000011714 00000 n
0000012952 00000 n
0000001523 00000 n
0000011780 00000 n
0000013018 00000 n
0000001660 00000 n
0000011846 00000 n
0000013084 00000 n
0000001797 00000 n
0000011910 00000 n
0000013148 00000 n
0000001934 00000 n
0000011976 00000 n
0000013214 00000 n
0000002071 00000 n
0000012042 00000 n
0000013278 00000 n
0000002208 00000 n
0000012106 00000 n
0000013344 00000 n
0000002345 00000 n
0000004519 00000 n
0000004627 00000 n
0000007093 00000 n
0000007201 00000 n
0000008840 00000 n
0000012172 00000 n
0000008948 00000 n
0000009144 00000 n
0000009547 00000 n
0000009780 00000 n
0000009918 00000 n
0000010064 00000 n
0000010204 00000 n
0000010362 00000 n
0000010544 00000 n
0000010735 00000 n
0000010848 00000 n
0000010958 00000 n
0000011066 00000 n
0000011182 00000 n
0000004554 00000 n
0000004662 00000 n
0000007175 00000 n
0000007283 00000 n
0000009523 00000 n
0000009631 00000 n
0000010071 00000 n
0000013410 00000 n
0000010179 00000 n
0000010375 00000 n
0000010778 00000 n
0000011011 00000 n
0000011149 00000 n
0000011295 00000 n
0000011435 00000 n
0000011593 00000 n
0000011775 00000 n
0000011966 00000 n
0000012079 00000 n
0000012189 00000 n
0000012297 00000 n
0000012413 00000 n
trailer
<<
/Size 47
/Size 49
/Root 2 0 R
/Info 4 0 R
>>
startxref
12223
13461
%%EOF

View File

@ -33,7 +33,7 @@
<ul>
<li> Advanced Full-Text Search Capabilities </li>
<li> Optimized for High Volume Web Traffic </li>
<li> Standards Based Open Interfaces - XML and HTTP </li>
<li> Standards Based Open Interfaces - XML,JSON and HTTP </li>
<li> Comprehensive HTML Administration Interfaces </li>
<li> Server statistics exposed over JMX for monitoring </li>
<li> Scalability - Efficient Replication to other Solr Search Servers </li>
@ -47,17 +47,18 @@
<ul>
<li> A Real Data Schema, with Numeric Types, Dynamic Fields, Unique Keys </li>
<li> Powerful Extensions to the Lucene Query Language </li>
<li> Support for Dynamic Faceted Browsing and Filtering </li>
<li> Faceted Search and Filtering </li>
<li> Advanced, Configurable Text Analysis </li>
<li> Highly Configurable and User Extensible Caching </li>
<li> Performance Optimizations </li>
<li> External Configuration via XML </li>
<li> An Administration Interface </li>
<li> Monitorable Logging </li>
<li> Fast Incremental Updates and Snapshot Distribution </li>
<li> Distributed search with sharded index on multiple hosts </li>
<li> XML and CSV/delimited-text update formats </li>
<li> Fast Incremental Updates and Index Replication </li>
<li> Highly Scalable Distributed search with sharded index across multiple hosts </li>
<li> XML, CSV/delimited-text, and binary update formats </li>
<li> Easy ways to pull in data from databases and XML files from local disk and HTTP sources </li>
<li> Rich Document Parsing and Indexing (PDF, Word, HTML, etc) using Apache Tika </li>
<li> Multiple search indices </li>
</ul>
</section>
@ -80,28 +81,37 @@
<section><title>Query</title>
<ul>
<li>HTTP interface with configurable response formats (XML/XSLT, JSON, Python, Ruby)</li>
<li>HTTP interface with configurable response formats (XML/XSLT, JSON, Python, Ruby, PHP, Velocity, binary)</li>
<li>Sort by any number of fields</li>
<li>Advanced DisMax query parser for high relevancy results from user-entered queries</li>
<li>Highlighted context snippets</li>
<li>Faceted Searching based on unique field values and explicit queries</li>
<li>Faceted Searching based on unique field values, explicit queries, or date ranges</li>
<li>Multi-Select Faceting by tagging and selectively excluding filters</li>
<li>Spelling suggestions for user queries</li>
<li>More Like This suggestions for given document</li>
<li>Constant scoring range and prefix queries - no idf, coord, or lengthNorm factors, and no restriction on the number of terms the query matches.</li>
<li>Function Query - influence the score by a function of a field's numeric value or ordinal</li>
<li>Function Query - influence the score by user specified complex functions of
numeric fields or query relevancy scores.</li>
<li>Range filter over Function Query results</li>
<li>Date Math - specify dates relative to "NOW" in queries and updates</li>
<li>Dynamic search results clustering using Carrot2</li>
<li>Numeric field statistics such as min, max, average, standard deviation </li>
<li>Combine queries derived from different syntaxes</li>
<li>Auto-suggest functionality</li>
<li>Allow configuration of top results for a query, overriding normal scoring and sorting</li>
<li>Performance Optimizations</li>
</ul>
</section>
<section><title>Core</title>
<ul>
<li>Dynamically create and delete document collections without restarting</li>
<li>Pluggable query handlers and extensible XML data format</li>
<li>Pluggable user functions for Function Query</li>
<li>Customizable component based request handler with distributed search support</li>
<li>Document uniqueness enforcement based on unique key field</li>
<li>Batches updates and deletes for high performance</li>
<li>Duplicate document detection, including fuzzy near duplicates</li>
<li>Custom index processing chains, allowing document manipulation before indexing</li>
<li>User configurable commands triggered on index changes</li>
<li>Searcher concurrency control</li>
<li>Correct handling of numeric types for both sorting and range queries</li>
<li>Ability to control where docs with the sort field missing will be placed</li>
<li>"Luke" request handler for corpus information</li>
</ul>
@ -110,7 +120,7 @@
<section><title>Caching</title>
<ul>
<li>Configurable Query Result, Filter, and Document cache instances</li>
<li>Pluggable Cache implementations</li>
<li>Pluggable Cache implementations, including a lock free, high concurrency implementation</li>
<li>Cache warming in background
<ul><li> When a new searcher is opened, configurable searches are run against
it in order to warm it up to avoid
@ -120,7 +130,7 @@
<li>Autowarming in background
<ul>
<li>The most recently accessed items in the caches of the current
searcher are re-populated in the new searcher, enabing high cache hit
searcher are re-populated in the new searcher, enabling high cache hit
rates across index/searcher changes.</li>
</ul>
</li>
@ -131,15 +141,19 @@
<section><title>Replication</title>
<ul>
<li>Efficient distribution of index parts that have changed via rsync transport</li>
<li>Efficient distribution of index parts that have changed</li>
<li>Pull strategy allows for easy addition of searchers</li>
<li>Configurable distribution interval allows tradeoff between timeliness and cache utilization</li>
<li>Replication and automatic reloading of configuration files</li>
</ul>
</section>
<section><title>Admin Interface</title>
<ul>
<li>Comprehensive statistics on cache utilization, updates, and queries</li>
<li>Interactive schema browser that includes index statistics</li>
<li>Replication monitoring</li>
<li>Full logging control</li>
<li>Text analysis debugger, showing result of every stage in an analyzer</li>
<li>Web Query Interface w/ debugging output
<ul>