mirror of https://github.com/apache/lucene.git
SOLR-2519: improve defaults for text_* field types
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1128854 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f02bbe00b5
commit
0bec9a11fd
|
@ -349,6 +349,10 @@ Bug Fixes
|
||||||
* SOLR-2539: VectorValueSource.floatVal incorrectly used byteVal on sub-sources.
|
* SOLR-2539: VectorValueSource.floatVal incorrectly used byteVal on sub-sources.
|
||||||
(Tom Liu via yonik)
|
(Tom Liu via yonik)
|
||||||
|
|
||||||
|
* SOLR-2519: Improve text_* fieldTypes in example schema.xml: improve
|
||||||
|
cross-language defaults for text_general; break out separate
|
||||||
|
English-specific fieldTypes (Jan Høydahl, hossman, Robert Muir,
|
||||||
|
yonik, Mike McCandless)
|
||||||
|
|
||||||
Other Changes
|
Other Changes
|
||||||
----------------------
|
----------------------
|
||||||
|
|
|
@ -45,15 +45,16 @@
|
||||||
that avoids logging every request
|
that avoids logging every request
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<schema name="example" version="1.3">
|
<schema name="example" version="1.4">
|
||||||
<!-- attribute "name" is the name of this schema and is only used for display purposes.
|
<!-- attribute "name" is the name of this schema and is only used for display purposes.
|
||||||
Applications should change this to reflect the nature of the search collection.
|
Applications should change this to reflect the nature of the search collection.
|
||||||
version="1.2" is Solr's version number for the schema syntax and semantics. It should
|
version="1.4" is Solr's version number for the schema syntax and semantics. It should
|
||||||
not normally be changed by applications.
|
not normally be changed by applications.
|
||||||
1.0: multiValued attribute did not exist, all fields are multiValued by nature
|
1.0: multiValued attribute did not exist, all fields are multiValued by nature
|
||||||
1.1: multiValued attribute introduced, false by default
|
1.1: multiValued attribute introduced, false by default
|
||||||
1.2: omitTermFreqAndPositions attribute introduced, true by default except for text fields.
|
1.2: omitTermFreqAndPositions attribute introduced, true by default except for text fields.
|
||||||
1.3: removed optional field compress feature
|
1.3: removed optional field compress feature
|
||||||
|
1.4: default auto-phrase (QueryParser feature) to off
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<types>
|
<types>
|
||||||
|
@ -190,16 +191,87 @@
|
||||||
</analyzer>
|
</analyzer>
|
||||||
</fieldType>
|
</fieldType>
|
||||||
|
|
||||||
<!-- A text field that uses WordDelimiterFilter to enable splitting and matching of
|
<!-- A general text field that has reasonable, generic
|
||||||
words on case-change, alpha numeric boundaries, and non-alphanumeric chars,
|
cross-language defaults: it tokenizes with StandardTokenizer,
|
||||||
so that a query of "wifi" or "wi fi" could match a document containing "Wi-Fi".
|
removes stop words from case-insensitive "stopwords.txt"
|
||||||
Synonyms and stopwords are customized by external files, and stemming is enabled.
|
(empty by default), and down cases. At query time only, it
|
||||||
The attribute autoGeneratePhraseQueries="true" (the default) causes words that get split to
|
also applies synonyms. -->
|
||||||
form phrase queries. For example, WordDelimiterFilter splitting text:pdp-11 will cause the parser
|
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100">
|
||||||
to generate text:"pdp 11" rather than (text:PDP OR text:11).
|
<analyzer type="index">
|
||||||
NOTE: autoGeneratePhraseQueries="true" tends to not work well for non whitespace delimited languages.
|
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
|
||||||
|
<!-- in this example, we will only use synonyms at query time
|
||||||
|
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
|
||||||
-->
|
-->
|
||||||
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
|
</analyzer>
|
||||||
|
<analyzer type="query">
|
||||||
|
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||||
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
|
||||||
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
||||||
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
|
</analyzer>
|
||||||
|
</fieldType>
|
||||||
|
|
||||||
|
<!-- A text field with defaults appropriate for English: it
|
||||||
|
tokenizes with StandardTokenizer, removes English stop words
|
||||||
|
(stopwords_en.txt), down cases, protects words from protwords.txt, and
|
||||||
|
finally applies Porter's stemming. The query time analyzer
|
||||||
|
also applies synonyms from synonyms.txt. -->
|
||||||
|
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
||||||
|
<analyzer type="index">
|
||||||
|
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||||
|
<!-- in this example, we will only use synonyms at query time
|
||||||
|
<filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
|
||||||
|
-->
|
||||||
|
<!-- Case insensitive stop word removal.
|
||||||
|
add enablePositionIncrements=true in both the index and query
|
||||||
|
analyzers to leave a 'gap' for more accurate phrase queries.
|
||||||
|
-->
|
||||||
|
<filter class="solr.StopFilterFactory"
|
||||||
|
ignoreCase="true"
|
||||||
|
words="stopwords_en.txt"
|
||||||
|
enablePositionIncrements="true"
|
||||||
|
/>
|
||||||
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
|
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
||||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
|
||||||
|
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:
|
||||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
||||||
|
-->
|
||||||
|
<filter class="solr.PorterStemFilterFactory"/>
|
||||||
|
</analyzer>
|
||||||
|
<analyzer type="query">
|
||||||
|
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||||
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
||||||
|
<filter class="solr.StopFilterFactory"
|
||||||
|
ignoreCase="true"
|
||||||
|
words="stopwords_en.txt"
|
||||||
|
enablePositionIncrements="true"
|
||||||
|
/>
|
||||||
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
|
<filter class="solr.EnglishPossessiveFilterFactory"/>
|
||||||
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
|
||||||
|
<!-- Optionally you may want to use this less aggressive stemmer instead of PorterStemFilterFactory:
|
||||||
|
<filter class="solr.EnglishMinimalStemFilterFactory"/>
|
||||||
|
-->
|
||||||
|
<filter class="solr.PorterStemFilterFactory"/>
|
||||||
|
</analyzer>
|
||||||
|
</fieldType>
|
||||||
|
|
||||||
|
<!-- A text field with defaults appropriate for English, plus
|
||||||
|
aggressive word-splitting and autophrase features enabled.
|
||||||
|
This field is just like text_en, except it adds
|
||||||
|
WordDelimiterFilter to enable splitting and matching of
|
||||||
|
words on case-change, alpha numeric boundaries, and
|
||||||
|
non-alphanumeric chars. This means certain compound word
|
||||||
|
cases will work, for example query "wi fi" will match
|
||||||
|
document "WiFi" or "wi-fi". However, other cases will still
|
||||||
|
not match, for example if the query is "wifi" and the
|
||||||
|
document is "wi fi" or if the query is "wi-fi" and the
|
||||||
|
document is "wifi".
|
||||||
|
-->
|
||||||
|
<fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
|
||||||
<analyzer type="index">
|
<analyzer type="index">
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||||
<!-- in this example, we will only use synonyms at query time
|
<!-- in this example, we will only use synonyms at query time
|
||||||
|
@ -211,7 +283,7 @@
|
||||||
-->
|
-->
|
||||||
<filter class="solr.StopFilterFactory"
|
<filter class="solr.StopFilterFactory"
|
||||||
ignoreCase="true"
|
ignoreCase="true"
|
||||||
words="stopwords.txt"
|
words="stopwords_en.txt"
|
||||||
enablePositionIncrements="true"
|
enablePositionIncrements="true"
|
||||||
/>
|
/>
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
|
||||||
|
@ -224,7 +296,7 @@
|
||||||
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
||||||
<filter class="solr.StopFilterFactory"
|
<filter class="solr.StopFilterFactory"
|
||||||
ignoreCase="true"
|
ignoreCase="true"
|
||||||
words="stopwords.txt"
|
words="stopwords_en.txt"
|
||||||
enablePositionIncrements="true"
|
enablePositionIncrements="true"
|
||||||
/>
|
/>
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
|
||||||
|
@ -234,14 +306,13 @@
|
||||||
</analyzer>
|
</analyzer>
|
||||||
</fieldType>
|
</fieldType>
|
||||||
|
|
||||||
|
|
||||||
<!-- Less flexible matching, but less false matches. Probably not ideal for product names,
|
<!-- Less flexible matching, but less false matches. Probably not ideal for product names,
|
||||||
but may be good for SKUs. Can insert dashes in the wrong place and still match. -->
|
but may be good for SKUs. Can insert dashes in the wrong place and still match. -->
|
||||||
<fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
|
<fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
|
||||||
<analyzer>
|
<analyzer>
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||||
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
|
||||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords_en.txt"/>
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
|
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
|
||||||
<filter class="solr.LowerCaseFilterFactory"/>
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
|
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
|
||||||
|
@ -252,57 +323,27 @@
|
||||||
</analyzer>
|
</analyzer>
|
||||||
</fieldType>
|
</fieldType>
|
||||||
|
|
||||||
|
<!-- Just like text_general except it reverses the characters of
|
||||||
<!-- A general unstemmed text field - good if one does not know the language of the field -->
|
each token, to enable more efficient leading wildcard queries. -->
|
||||||
<fieldType name="textgen" class="solr.TextField" positionIncrementGap="100">
|
<fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100">
|
||||||
<analyzer type="index">
|
<analyzer type="index">
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
|
|
||||||
<filter class="solr.LowerCaseFilterFactory"/>
|
|
||||||
</analyzer>
|
|
||||||
<analyzer type="query">
|
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
|
||||||
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
|
||||||
<filter class="solr.StopFilterFactory"
|
|
||||||
ignoreCase="true"
|
|
||||||
words="stopwords.txt"
|
|
||||||
enablePositionIncrements="true"
|
|
||||||
/>
|
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
|
|
||||||
<filter class="solr.LowerCaseFilterFactory"/>
|
|
||||||
</analyzer>
|
|
||||||
</fieldType>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- A general unstemmed text field that indexes tokens normally and also
|
|
||||||
reversed (via ReversedWildcardFilterFactory), to enable more efficient
|
|
||||||
leading wildcard queries. -->
|
|
||||||
<fieldType name="text_rev" class="solr.TextField" positionIncrementGap="100">
|
|
||||||
<analyzer type="index">
|
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
|
||||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
|
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
|
|
||||||
<filter class="solr.LowerCaseFilterFactory"/>
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
|
<filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
|
||||||
maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
|
maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
|
||||||
</analyzer>
|
</analyzer>
|
||||||
<analyzer type="query">
|
<analyzer type="query">
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||||
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
|
||||||
<filter class="solr.StopFilterFactory"
|
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
|
||||||
ignoreCase="true"
|
|
||||||
words="stopwords.txt"
|
|
||||||
enablePositionIncrements="true"
|
|
||||||
/>
|
|
||||||
<filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
|
|
||||||
<filter class="solr.LowerCaseFilterFactory"/>
|
<filter class="solr.LowerCaseFilterFactory"/>
|
||||||
</analyzer>
|
</analyzer>
|
||||||
</fieldType>
|
</fieldType>
|
||||||
|
|
||||||
<!-- charFilter + WhitespaceTokenizer -->
|
<!-- charFilter + WhitespaceTokenizer -->
|
||||||
<!--
|
<!--
|
||||||
<fieldType name="textCharNorm" class="solr.TextField" positionIncrementGap="100" >
|
<fieldType name="text_char_norm" class="solr.TextField" positionIncrementGap="100" >
|
||||||
<analyzer>
|
<analyzer>
|
||||||
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
|
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||||
|
@ -436,13 +477,13 @@
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<field name="id" type="string" indexed="true" stored="true" required="true" />
|
<field name="id" type="string" indexed="true" stored="true" required="true" />
|
||||||
<field name="sku" type="textTight" indexed="true" stored="true" omitNorms="true"/>
|
<field name="sku" type="text_en_splitting_tight" indexed="true" stored="true" omitNorms="true"/>
|
||||||
<field name="name" type="textgen" indexed="true" stored="true"/>
|
<field name="name" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="alphaNameSort" type="alphaOnlySort" indexed="true" stored="false"/>
|
<field name="alphaNameSort" type="alphaOnlySort" indexed="true" stored="false"/>
|
||||||
<field name="manu" type="textgen" indexed="true" stored="true" omitNorms="true"/>
|
<field name="manu" type="text_general" indexed="true" stored="true" omitNorms="true"/>
|
||||||
<field name="cat" type="string" indexed="true" stored="true" multiValued="true"/>
|
<field name="cat" type="string" indexed="true" stored="true" multiValued="true"/>
|
||||||
<field name="features" type="text" indexed="true" stored="true" multiValued="true"/>
|
<field name="features" type="text_general" indexed="true" stored="true" multiValued="true"/>
|
||||||
<field name="includes" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />
|
<field name="includes" type="text_general" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />
|
||||||
|
|
||||||
<field name="weight" type="float" indexed="true" stored="true"/>
|
<field name="weight" type="float" indexed="true" stored="true"/>
|
||||||
<field name="price" type="float" indexed="true" stored="true"/>
|
<field name="price" type="float" indexed="true" stored="true"/>
|
||||||
|
@ -460,13 +501,13 @@
|
||||||
Some fields are multiValued only because Tika currently may return
|
Some fields are multiValued only because Tika currently may return
|
||||||
multiple values for them.
|
multiple values for them.
|
||||||
-->
|
-->
|
||||||
<field name="title" type="text" indexed="true" stored="true" multiValued="true"/>
|
<field name="title" type="text_general" indexed="true" stored="true" multiValued="true"/>
|
||||||
<field name="subject" type="text" indexed="true" stored="true"/>
|
<field name="subject" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="description" type="text" indexed="true" stored="true"/>
|
<field name="description" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="comments" type="text" indexed="true" stored="true"/>
|
<field name="comments" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="author" type="textgen" indexed="true" stored="true"/>
|
<field name="author" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="keywords" type="textgen" indexed="true" stored="true"/>
|
<field name="keywords" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="category" type="textgen" indexed="true" stored="true"/>
|
<field name="category" type="text_general" indexed="true" stored="true"/>
|
||||||
<field name="content_type" type="string" indexed="true" stored="true" multiValued="true"/>
|
<field name="content_type" type="string" indexed="true" stored="true" multiValued="true"/>
|
||||||
<field name="last_modified" type="date" indexed="true" stored="true"/>
|
<field name="last_modified" type="date" indexed="true" stored="true"/>
|
||||||
<field name="links" type="string" indexed="true" stored="true" multiValued="true"/>
|
<field name="links" type="string" indexed="true" stored="true" multiValued="true"/>
|
||||||
|
@ -474,11 +515,11 @@
|
||||||
|
|
||||||
<!-- catchall field, containing all other searchable text fields (implemented
|
<!-- catchall field, containing all other searchable text fields (implemented
|
||||||
via copyField further on in this schema -->
|
via copyField further on in this schema -->
|
||||||
<field name="text" type="text" indexed="true" stored="false" multiValued="true"/>
|
<field name="text" type="text_general" indexed="true" stored="false" multiValued="true"/>
|
||||||
|
|
||||||
<!-- catchall text field that indexes tokens both normally and in reverse for efficient
|
<!-- catchall text field that indexes tokens both normally and in reverse for efficient
|
||||||
leading wildcard queries. -->
|
leading wildcard queries. -->
|
||||||
<field name="text_rev" type="text_rev" indexed="true" stored="false" multiValued="true"/>
|
<field name="text_rev" type="text_general_rev" indexed="true" stored="false" multiValued="true"/>
|
||||||
|
|
||||||
<!-- non-tokenized version of manufacturer to make it easier to sort or group
|
<!-- non-tokenized version of manufacturer to make it easier to sort or group
|
||||||
results by manufacturer. copied from "manu" via copyField -->
|
results by manufacturer. copied from "manu" via copyField -->
|
||||||
|
@ -504,8 +545,8 @@
|
||||||
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
|
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_s" type="string" indexed="true" stored="true"/>
|
<dynamicField name="*_s" type="string" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
|
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_t" type="text" indexed="true" stored="true"/>
|
<dynamicField name="*_t" type="text_general" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_txt" type="text" indexed="true" stored="true" multiValued="true"/>
|
<dynamicField name="*_txt" type="text_general" indexed="true" stored="true" multiValued="true"/>
|
||||||
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
|
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_f" type="float" indexed="true" stored="true"/>
|
<dynamicField name="*_f" type="float" indexed="true" stored="true"/>
|
||||||
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
|
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
|
||||||
|
@ -526,7 +567,7 @@
|
||||||
<dynamicField name="*_pi" type="pint" indexed="true" stored="true"/>
|
<dynamicField name="*_pi" type="pint" indexed="true" stored="true"/>
|
||||||
|
|
||||||
<dynamicField name="ignored_*" type="ignored" multiValued="true"/>
|
<dynamicField name="ignored_*" type="ignored" multiValued="true"/>
|
||||||
<dynamicField name="attr_*" type="textgen" indexed="true" stored="true" multiValued="true"/>
|
<dynamicField name="attr_*" type="text_general" indexed="true" stored="true" multiValued="true"/>
|
||||||
|
|
||||||
<dynamicField name="random_*" type="random" />
|
<dynamicField name="random_*" type="random" />
|
||||||
|
|
||||||
|
|
|
@ -237,7 +237,7 @@
|
||||||
of detailed information when indexing.
|
of detailed information when indexing.
|
||||||
|
|
||||||
Setting The value to true will instruct the underlying Lucene
|
Setting The value to true will instruct the underlying Lucene
|
||||||
IndexWriter to write it's debugging info the specified file
|
IndexWriter to write its debugging info the specified file
|
||||||
-->
|
-->
|
||||||
<infoStream file="INFOSTREAM.txt">false</infoStream>
|
<infoStream file="INFOSTREAM.txt">false</infoStream>
|
||||||
|
|
||||||
|
|
|
@ -12,47 +12,3 @@
|
||||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
# See the License for the specific language governing permissions and
|
# See the License for the specific language governing permissions and
|
||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
#-----------------------------------------------------------------------
|
|
||||||
# a couple of test stopwords to test that the words are really being
|
|
||||||
# configured from this file:
|
|
||||||
stopworda
|
|
||||||
stopwordb
|
|
||||||
|
|
||||||
#Standard english stop words taken from Lucene's StopAnalyzer
|
|
||||||
a
|
|
||||||
an
|
|
||||||
and
|
|
||||||
are
|
|
||||||
as
|
|
||||||
at
|
|
||||||
be
|
|
||||||
but
|
|
||||||
by
|
|
||||||
for
|
|
||||||
if
|
|
||||||
in
|
|
||||||
into
|
|
||||||
is
|
|
||||||
it
|
|
||||||
no
|
|
||||||
not
|
|
||||||
of
|
|
||||||
on
|
|
||||||
or
|
|
||||||
s
|
|
||||||
such
|
|
||||||
t
|
|
||||||
that
|
|
||||||
the
|
|
||||||
their
|
|
||||||
then
|
|
||||||
there
|
|
||||||
these
|
|
||||||
they
|
|
||||||
this
|
|
||||||
to
|
|
||||||
was
|
|
||||||
will
|
|
||||||
with
|
|
||||||
|
|
||||||
|
|
|
@ -474,9 +474,9 @@ SimplePostTool: COMMITting Solr index changes..
|
||||||
<p>
|
<p>
|
||||||
You may have noticed that even though the file <span class="codefrag">solr.xml</span> has now
|
You may have noticed that even though the file <span class="codefrag">solr.xml</span> has now
|
||||||
been POSTed to the server twice, you still only get 1 result when searching for
|
been POSTed to the server twice, you still only get 1 result when searching for
|
||||||
"solr". This is because the example schema.xml specifies a "uniqueKey" field
|
"solr". This is because the example <span class="codefrag">schema.xml</span> specifies a "<span class="codefrag">uniqueKey</span>" field
|
||||||
called "<span class="codefrag">id</span>". Whenever you POST instructions to Solr to add a
|
called "<span class="codefrag">id</span>". Whenever you POST instructions to Solr to add a
|
||||||
document with the same value for the uniqueKey as an existing document, it
|
document with the same value for the <span class="codefrag">uniqueKey</span> as an existing document, it
|
||||||
automatically replaces it for you. You can see that that has happened by
|
automatically replaces it for you. You can see that that has happened by
|
||||||
looking at the values for <span class="codefrag">numDocs</span> and <span class="codefrag">maxDoc</span> in the
|
looking at the values for <span class="codefrag">numDocs</span> and <span class="codefrag">maxDoc</span> in the
|
||||||
"CORE"/searcher section of the statistics page... </p>
|
"CORE"/searcher section of the statistics page... </p>
|
||||||
|
@ -487,12 +487,12 @@ looking at the values for <span class="codefrag">numDocs</span> and <span class=
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
|
||||||
<strong>numDocs</strong> represents the number of searchable documents in the
|
<strong><span class="codefrag">numDocs</span></strong> represents the number of searchable documents in the
|
||||||
index (and will be larger than the number of XML files since some files
|
index (and will be larger than the number of XML files since some files
|
||||||
contained more than one <span class="codefrag"><doc></span>). <strong>maxDoc</strong>
|
contained more than one <span class="codefrag"><doc></span>). <strong><span class="codefrag">maxDoc</span></strong>
|
||||||
may be larger as the maxDoc count includes logically deleted documents that
|
may be larger as the <span class="codefrag">maxDoc</span> count includes logically deleted documents that
|
||||||
have not yet been removed from the index. You can re-post the sample XML
|
have not yet been removed from the index. You can re-post the sample XML
|
||||||
files over and over again as much as you want and numDocs will never
|
files over and over again as much as you want and <span class="codefrag">numDocs</span> will never
|
||||||
increase, because the new documents will constantly be replacing the old.
|
increase, because the new documents will constantly be replacing the old.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -500,7 +500,7 @@ Go ahead and edit the existing XML files to change some of the data, and re-run
|
||||||
the <span class="codefrag">java -jar post.jar</span> command, you'll see your changes reflected
|
the <span class="codefrag">java -jar post.jar</span> command, you'll see your changes reflected
|
||||||
in subsequent searches.
|
in subsequent searches.
|
||||||
</p>
|
</p>
|
||||||
<a name="N1011B"></a><a name="Deleting+Data"></a>
|
<a name="N1012C"></a><a name="Deleting+Data"></a>
|
||||||
<h3 class="boxed">Deleting Data</h3>
|
<h3 class="boxed">Deleting Data</h3>
|
||||||
<p>You can delete data by POSTing a delete command to the update URL and specifying the value
|
<p>You can delete data by POSTing a delete command to the update URL and specifying the value
|
||||||
of the document's unique key field, or a query that matches multiple documents (be careful with that one!). Since these commands
|
of the document's unique key field, or a query that matches multiple documents (be careful with that one!). Since these commands
|
||||||
|
@ -511,7 +511,7 @@ in subsequent searches.
|
||||||
<p>Now if you go to the <a href="http://localhost:8983/solr/admin/stats.jsp">statistics</a> page and scroll down
|
<p>Now if you go to the <a href="http://localhost:8983/solr/admin/stats.jsp">statistics</a> page and scroll down
|
||||||
to the UPDATE_HANDLERS section and verify that "<span class="codefrag">deletesById : 1</span>"</p>
|
to the UPDATE_HANDLERS section and verify that "<span class="codefrag">deletesById : 1</span>"</p>
|
||||||
<p>If you search for <a href="http://localhost:8983/solr/select?q=id:SP2514N">id:SP2514N</a> it will still be found,
|
<p>If you search for <a href="http://localhost:8983/solr/select?q=id:SP2514N">id:SP2514N</a> it will still be found,
|
||||||
because index changes are not visible until, and a new searcher is opened. To cause
|
because index changes are not visible until changes are committed and a new searcher is opened. To cause
|
||||||
this to happen, send a commit command to Solr (post.jar does this for you by default):</p>
|
this to happen, send a commit command to Solr (post.jar does this for you by default):</p>
|
||||||
<pre class="code">java -jar post.jar</pre>
|
<pre class="code">java -jar post.jar</pre>
|
||||||
<p>Now re-execute the previous search and verify that no matching documents are found. Also revisit the
|
<p>Now re-execute the previous search and verify that no matching documents are found. Also revisit the
|
||||||
|
@ -520,7 +520,7 @@ in subsequent searches.
|
||||||
<a href="http://localhost:8983/solr/select?q=name:DDR&fl=name">DDR</a> in the name:</p>
|
<a href="http://localhost:8983/solr/select?q=name:DDR&fl=name">DDR</a> in the name:</p>
|
||||||
<pre class="code">java -Ddata=args -jar post.jar "<delete><query>name:DDR</query></delete>"</pre>
|
<pre class="code">java -Ddata=args -jar post.jar "<delete><query>name:DDR</query></delete>"</pre>
|
||||||
<p>Commit can be an expensive operation so it's best to make many changes to an index in a batch and
|
<p>Commit can be an expensive operation so it's best to make many changes to an index in a batch and
|
||||||
then send the commit command at the end. There is also an optimize command that does the same thing as commit,
|
then send the <span class="codefrag">commit</span> command at the end. There is also an <span class="codefrag">optimize</span> command that does the same thing as <span class="codefrag">commit</span>,
|
||||||
in addition to merging all index segments into a single segment, making it faster to search and causing any
|
in addition to merging all index segments into a single segment, making it faster to search and causing any
|
||||||
deleted documents to be removed. All of the update commands are documented <a href="http://wiki.apache.org/solr/UpdateXmlMessages">here</a>.
|
deleted documents to be removed. All of the update commands are documented <a href="http://wiki.apache.org/solr/UpdateXmlMessages">here</a>.
|
||||||
</p>
|
</p>
|
||||||
|
@ -529,14 +529,14 @@ in subsequent searches.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<a name="N10161"></a><a name="Querying+Data"></a>
|
<a name="N1017B"></a><a name="Querying+Data"></a>
|
||||||
<h2 class="boxed">Querying Data</h2>
|
<h2 class="boxed">Querying Data</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<p>
|
<p>
|
||||||
Searches are done via HTTP GET on the select URL with the query string in the q parameter.
|
Searches are done via HTTP GET on the <span class="codefrag">select</span> URL with the query string in the <span class="codefrag">q</span> parameter.
|
||||||
You can pass a number of optional <a href="http://wiki.apache.org/solr/StandardRequestHandler">request parameters</a>
|
You can pass a number of optional <a href="http://wiki.apache.org/solr/StandardRequestHandler">request parameters</a>
|
||||||
to the request handler to control what information is returned. For example, you can use the "fl" parameter
|
to the request handler to control what information is returned. For example, you can use the "<span class="codefrag">fl</span>" parameter
|
||||||
to control what stored fields are returned, and if the relevancy score is returned...
|
to control what stored fields are returned, and if the relevancy score is returned:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
@ -558,13 +558,13 @@ in subsequent searches.
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
Solr provides a <a href="http://localhost:8983/solr/admin/form.jsp">query form</a> within the web admin interface
|
Solr provides a <a href="http://localhost:8983/solr/admin/form.jsp">query form</a> within the web admin interface
|
||||||
that allows setting the various request parameters and is useful when trying out or debugging queries.
|
that allows setting the various request parameters and is useful when testing or debugging queries.
|
||||||
</p>
|
</p>
|
||||||
<a name="N10196"></a><a name="Sorting"></a>
|
<a name="N101B9"></a><a name="Sorting"></a>
|
||||||
<h3 class="boxed">Sorting</h3>
|
<h3 class="boxed">Sorting</h3>
|
||||||
<p>
|
<p>
|
||||||
Solr provides a simple method to sort on one or more indexed fields.
|
Solr provides a simple method to sort on one or more indexed fields.
|
||||||
Use the 'sort' parameter to specify "field direction" pairs...
|
Use the "<span class="codefrag">sort</span>' parameter to specify "field direction" pairs, separated by commas if there's more than one sort field:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
@ -582,7 +582,7 @@ in subsequent searches.
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
"score" can also be used as a field name when specifying a sort...
|
"<span class="codefrag">score</span>" can also be used as a field name when specifying a sort:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
@ -596,7 +596,7 @@ in subsequent searches.
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
Complex functions may also be used to sort results...
|
Complex functions may also be used to sort results:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
@ -612,12 +612,12 @@ in subsequent searches.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="N101D4"></a><a name="Highlighting"></a>
|
<a name="N101FD"></a><a name="Highlighting"></a>
|
||||||
<h2 class="boxed">Highlighting</h2>
|
<h2 class="boxed">Highlighting</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<p>
|
<p>
|
||||||
Hit highlighting returns relevent snippets of each returned document, and highlights
|
Hit highlighting returns relevent snippets of each returned document, and highlights
|
||||||
keywords from the query within those context snippets.
|
terms from the query within those context snippets.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The following example searches for <span class="codefrag">video card</span> and requests
|
The following example searches for <span class="codefrag">video card</span> and requests
|
||||||
|
@ -639,7 +639,7 @@ in subsequent searches.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="N101FD"></a><a name="Faceted+Search"></a>
|
<a name="N10226"></a><a name="Faceted+Search"></a>
|
||||||
<h2 class="boxed">Faceted Search</h2>
|
<h2 class="boxed">Faceted Search</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<p>
|
<p>
|
||||||
|
@ -698,7 +698,7 @@ in subsequent searches.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="N1024E"></a><a name="Search+UI"></a>
|
<a name="N10277"></a><a name="Search+UI"></a>
|
||||||
<h2 class="boxed">Search UI</h2>
|
<h2 class="boxed">Search UI</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<p>
|
<p>
|
||||||
|
@ -716,28 +716,44 @@ in subsequent searches.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<a name="N10261"></a><a name="Text+Analysis"></a>
|
<a name="N1028A"></a><a name="Text+Analysis"></a>
|
||||||
<h2 class="boxed">Text Analysis</h2>
|
<h2 class="boxed">Text Analysis</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<p>
|
<p>
|
||||||
Text fields are typically indexed by breaking the field into words and applying various transformations such as
|
Text fields are typically indexed by breaking the text into words and applying various transformations such as
|
||||||
lowercasing, removing plurals, or stemming to increase relevancy. The same text transformations are normally
|
lowercasing, removing plurals, or stemming to increase relevancy. The same text transformations are normally
|
||||||
applied to any queries in order to match what is indexed.
|
applied to any queries in order to match what is indexed.
|
||||||
</p>
|
</p>
|
||||||
<p>Example queries demonstrating relevancy improving transformations:</p>
|
<p>
|
||||||
|
The <a href="http://wiki.apache.org/solr/SchemaXml">schema</a> defines
|
||||||
|
the fields in the index and what type of analysis is applied to them. The current schema your server is using
|
||||||
|
may be accessed via the <span class="codefrag">[SCHEMA]</span> link on the <a href="http://localhost:8983/solr/admin/">admin</a> page.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
The best analysis components (tokenization and filtering) for your textual content depends heavily on language.
|
||||||
|
As you can see in the above <span class="codefrag">[SCHEMA]</span> link, the fields in the example schema are using a <span class="codefrag">fieldType</span>
|
||||||
|
named <span class="codefrag">text_general</span>, which has defaults appropriate for all languages.
|
||||||
|
</p>
|
||||||
|
<p>
|
||||||
|
If you know your textual content is English, as is the case for the example documents in this tutorial,
|
||||||
|
and you'd like to apply English-specific stemming and stop word removal, as well as split compound words, you can use the <span class="codefrag">text_en_splitting</span> fieldType instead.
|
||||||
|
Go ahead and edit the <span class="codefrag">schema.xml</span> under the <span class="codefrag">solr/example/solr/conf</span> directory,
|
||||||
|
and change the <span class="codefrag">type</span> for fields <span class="codefrag">text</span> and <span class="codefrag">features</span> from <span class="codefrag">text_general</span> to <span class="codefrag">text_en_splitting</span>.
|
||||||
|
Restart the server and then re-post all of the documents, and then these queries will show the English-specific transformations:
|
||||||
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
<li>A search for
|
<li>A search for
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=power-shot&fl=name">power-shot</a>
|
<a href="http://localhost:8983/solr/select/?indent=on&q=power-shot&fl=name">power-shot</a>
|
||||||
matches <span class="codefrag">PowerShot</span>, and
|
matches <span class="codefrag">PowerShot</span>, and
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=adata&fl=name">adata</a>
|
<a href="http://localhost:8983/solr/select/?indent=on&q=adata&fl=name">adata</a>
|
||||||
matches <span class="codefrag">A-DATA</span> due to the use of WordDelimiterFilter and LowerCaseFilter.
|
matches <span class="codefrag">A-DATA</span> due to the use of <span class="codefrag">WordDelimiterFilter</span> and <span class="codefrag">LowerCaseFilter</span>.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
<li>A search for
|
<li>A search for
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=features:recharging&fl=name,features">features:recharging</a>
|
<a href="http://localhost:8983/solr/select/?indent=on&q=features:recharging&fl=name,features">features:recharging</a>
|
||||||
matches <span class="codefrag">Rechargeable</span> due to stemming with the EnglishPorterFilter.
|
matches <span class="codefrag">Rechargeable</span> due to stemming with the <span class="codefrag">EnglishPorterFilter</span>.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
|
@ -745,20 +761,15 @@ in subsequent searches.
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=%221 gigabyte%22&fl=name">"1 gigabyte"</a>
|
<a href="http://localhost:8983/solr/select/?indent=on&q=%221 gigabyte%22&fl=name">"1 gigabyte"</a>
|
||||||
matches things with <span class="codefrag">GB</span>, and the misspelled
|
matches things with <span class="codefrag">GB</span>, and the misspelled
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=pixima&fl=name">pixima</a>
|
<a href="http://localhost:8983/solr/select/?indent=on&q=pixima&fl=name">pixima</a>
|
||||||
matches <span class="codefrag">Pixma</span> due to use of a SynonymFilter.
|
matches <span class="codefrag">Pixma</span> due to use of a <span class="codefrag">SynonymFilter</span>.
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
|
||||||
The <a href="http://wiki.apache.org/solr/SchemaXml">schema</a> defines
|
|
||||||
the fields in the index and what type of analysis is applied to them. The current schema your server is using
|
|
||||||
may be accessed via the <span class="codefrag">[SCHEMA]</span> link on the <a href="http://localhost:8983/solr/admin/">admin</a> page.
|
|
||||||
</p>
|
|
||||||
<p>A full description of the analysis components, Analyzers, Tokenizers, and TokenFilters
|
<p>A full description of the analysis components, Analyzers, Tokenizers, and TokenFilters
|
||||||
available for use is <a href="http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters">here</a>.
|
available for use is <a href="http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters">here</a>.
|
||||||
</p>
|
</p>
|
||||||
<a name="N102B1"></a><a name="Analysis+Debugging"></a>
|
<a name="N1030A"></a><a name="Analysis+Debugging"></a>
|
||||||
<h3 class="boxed">Analysis Debugging</h3>
|
<h3 class="boxed">Analysis Debugging</h3>
|
||||||
<p>There is a handy <a href="http://localhost:8983/solr/admin/analysis.jsp">analysis</a>
|
<p>There is a handy <a href="http://localhost:8983/solr/admin/analysis.jsp">analysis</a>
|
||||||
debugging page where you can see how a text value is broken down into words,
|
debugging page where you can see how a text value is broken down into words,
|
||||||
|
@ -768,7 +779,7 @@ in subsequent searches.
|
||||||
|
|
||||||
<a href="http://localhost:8983/solr/admin/analysis.jsp?name=name&val=Canon+Power-Shot+SD500">This</a>
|
<a href="http://localhost:8983/solr/admin/analysis.jsp?name=name&val=Canon+Power-Shot+SD500">This</a>
|
||||||
shows how "<span class="codefrag">Canon Power-Shot SD500</span>" would be indexed as a value in the name field. Each row of
|
shows how "<span class="codefrag">Canon Power-Shot SD500</span>" would be indexed as a value in the name field. Each row of
|
||||||
the table shows the resulting tokens after having passed through the next TokenFilter in the Analyzer for the <span class="codefrag">name</span> field.
|
the table shows the resulting tokens after having passed through the next <span class="codefrag">TokenFilter</span> in the analyzer for the <span class="codefrag">name</span> field.
|
||||||
Notice how both <span class="codefrag">powershot</span> and <span class="codefrag">power</span>, <span class="codefrag">shot</span> are indexed. Tokens generated at the same position
|
Notice how both <span class="codefrag">powershot</span> and <span class="codefrag">power</span>, <span class="codefrag">shot</span> are indexed. Tokens generated at the same position
|
||||||
are shown in the same column, in this case <span class="codefrag">shot</span> and <span class="codefrag">powershot</span>.
|
are shown in the same column, in this case <span class="codefrag">shot</span> and <span class="codefrag">powershot</span>.
|
||||||
</p>
|
</p>
|
||||||
|
@ -787,12 +798,12 @@ in subsequent searches.
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<a name="N102F0"></a><a name="Conclusion"></a>
|
<a name="N1034C"></a><a name="Conclusion"></a>
|
||||||
<h2 class="boxed">Conclusion</h2>
|
<h2 class="boxed">Conclusion</h2>
|
||||||
<div class="section">
|
<div class="section">
|
||||||
<p>
|
<p>
|
||||||
Congratulations! You successfully ran a small Solr instance, added some
|
Congratulations! You successfully ran a small Solr instance, added some
|
||||||
documents, and made changes to the index. You learned about queries, text
|
documents, and made changes to the index and schema. You learned about queries, text
|
||||||
analysis, and the Solr admin interface. You're ready to start using Solr on
|
analysis, and the Solr admin interface. You're ready to start using Solr on
|
||||||
your own project! Continue on with the following steps:
|
your own project! Continue on with the following steps:
|
||||||
</p>
|
</p>
|
||||||
|
@ -800,22 +811,21 @@ in subsequent searches.
|
||||||
|
|
||||||
<li>Subscribe to the Solr <a href="mailing_lists.html">mailing lists</a>!</li>
|
<li>Subscribe to the Solr <a href="mailing_lists.html">mailing lists</a>!</li>
|
||||||
|
|
||||||
<li>Make a copy of the Solr example directory as a template for your project.</li>
|
<li>Make a copy of the Solr <span class="codefrag">example</span> directory as a template for your project.</li>
|
||||||
|
|
||||||
<li>Customize the schema and other config in solr/conf/ to meet your needs.</li>
|
<li>Customize the schema and other config in <span class="codefrag">solr/conf/</span> to meet your needs.</li>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<p>
|
<p>
|
||||||
Solr as a ton of other features that we haven't touched on here, including
|
Solr has a ton of other features that we haven't touched on here, including
|
||||||
<a href="http://wiki.apache.org/solr/DistributedSearch">distributed search</a>
|
<a href="http://wiki.apache.org/solr/DistributedSearch">distributed search</a>
|
||||||
to handle huge document collections,
|
to handle huge document collections,
|
||||||
<a href="http://wiki.apache.org/solr/FunctionQuery">function queries</a>,
|
<a href="http://wiki.apache.org/solr/FunctionQuery">function queries</a>,
|
||||||
<a href="http://wiki.apache.org/solr/StatsComponent">numeric field statistics</a>,
|
<a href="http://wiki.apache.org/solr/StatsComponent">numeric field statistics</a>,
|
||||||
and
|
and
|
||||||
<a href="http://wiki.apache.org/solr/ClusteringComponent">search results clustering</a>.
|
<a href="http://wiki.apache.org/solr/ClusteringComponent">search results clustering</a>.
|
||||||
Explore the <a href="http://wiki.apache.org/solr/FrontPage">Solr Wiki</a> to find out
|
Explore the <a href="http://wiki.apache.org/solr/FrontPage">Solr Wiki</a> to find
|
||||||
more details about Solr's many
|
more details about Solr's many <a href="features.html">features</a>.
|
||||||
<a href="features.html">features</a>.
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Have Fun, and we'll see you on the Solr mailing lists!
|
Have Fun, and we'll see you on the Solr mailing lists!
|
||||||
|
|
|
@ -5,10 +5,10 @@
|
||||||
/Producer (FOP 0.20.5) >>
|
/Producer (FOP 0.20.5) >>
|
||||||
endobj
|
endobj
|
||||||
5 0 obj
|
5 0 obj
|
||||||
<< /Length 818 /Filter [ /ASCII85Decode /FlateDecode ]
|
<< /Length 820 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
Gb!$FbAs(+'Sc?EKpMG,W[)\;A^](F]'6";X0`7dAXaP=%MlUfI3gL4G%W@=;iJb,$[s,kFMoi'lQl8<#Q^V1JRfcDo90=`C]Y$,ra6;,F.=Eknd$L:i*j'qML#ar&J=7X1Y&G(cI654rda'bN[=boUE,"qJjCCI/jtjd(=L-/k0g>7O8lPd<3fJM)ik#Y%c^tc9L+=U'jWrgWl^C7mI%!(^<$-sQ`kJWh@WM-B^U\ncl?F_r6/RT8P_YMb`;OdHuALY5'94S*OeTs+WhiH%&0=:oFj=ODc3RIgl+%)WR=tleTCH[;/lGaCt"chW2H=qG#s)rY2n=<r(X3>M=Wo+o[&Z%c%YmGb`D1jmrtg3>nX`j3YqlZ4c+%rQ#^E+8mCF,GS3>dTYHVC]Gu1p'ESa%bb&rKXBfgqc5lR`,O>)^_=#B!mTkkMf\<3k'mO+N-g?Y?=k-g'Vd@Wln0:$D\Nf&/=iV0SKKJJfq.<jpn+>E&gWe#V%O5Da.e5@,l:%/`G58H0R7up_47R@2#B\opkHQnEfT5I!#L\2$rc\.[hVrbK+[$3?mm%,q_WW704-Cu^9o\dHAQlb8o-q.gmIhWBF$r38@rH[PXBfPZBn)&J^UY@S?L.%MZ.Wsmo=M2E:U+Jkr;"oTd,8"#FFh;hjBnoB/"1lmPnVJbc-5B9b[6Rl\ZHIu_@CA)(OAMb;hH3$TU&t+g]c<,[Np$<&<)F<bUG+u@kd$R`-OkYjLb0?)#IECr[&&7/V9'$>KKp+NN6?R\a<t9<j-6)S68fcBm,83$(Ys&0fIa4n"$oBlWR/gi/%@KDH7*P~>
|
Gb!$FbAs(+'Sc?EKpMG,W[)\;A^](F]'6";X0rCfAXaP=%MhY6p6E,nfaH!V']\`9JtE.;Nq?!-2@2Q#69lqe+B\rjr+#g0RfEPd58_?$*2a's49EV\pcVh^76LmJLkt\gR;,]$k@lXUImNWm7hYmsd>gOI_&s55(EuGC$>Es'F(n[Wa8]:B.TrdbNQ2#ga71i--6U3fMCorne`9-ShX7Cn^<6:0QZ$rl4qUP7B^U\ncl?F_r6/RT8P_YMb`;OdHti.T5'L9o*OeTs+WhiH%&0=:oFj=ODc3RIgl*InWR=tleTCH[<H.keCt"chW2H=qG#s*!Y2oHlr*?>NM=Wn@o[&Z%c%YmGb`D1j+*Xbb>nafk3YqlZ4c=1tQ#^E+8mCF<GS3>dUq`+I]H2=r('4s'bb&rKXBfgqc5lRF,O<7t@!CZKpFaL7ltt1q$9YP"P&s4/XQhG$;m0f1qiMo`gn/Q(XCDQd_B&=DI'YEsGC&\#G-fA[_amn1MS.09HBDgF?,#ZO-IY$1:;!+e!F>KJH#/Hip7j_7JTN#a]UsYW\+gtk82%j344(gJ0KRD':?77Z=!RZ<R21R+534]*h>TcZNl]7YlqR5:[4A@=mr+?^2tr&hf=JSAC,VR]4SSO/.CRH_5Ms$\)Z0r702U;Xr(C%%7C1=@EoM)AR2NEV_kd7"">=VOfG8X4>JAH7;O\R-#m7R<leiqr274a8]n9]\"D(>BM&Cq#B->bURO-i3C1HU?Jbb'T4LPM^@Vd>p3AtbuC$)jjeQTY_[<#qW25StH<[Dj*.uLUZ5'ub*j^-PrEWnu*IrAR!@/~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
6 0 obj
|
6 0 obj
|
||||||
|
@ -291,10 +291,10 @@ endobj
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
48 0 obj
|
48 0 obj
|
||||||
<< /Length 3212 /Filter [ /ASCII85Decode /FlateDecode ]
|
<< /Length 3293 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
GatU6=d.XL&UrVE_:kgC7)G*0Gc=T?MKRQLV!-HN*1,7f=:Sqt2NJHlg#Ltf_#nL]#jteEPp?EApXa*N$-Wp\Ze)7aY@jH5KtfjD,qa2.0FZoI(<G\%1eL:O3jipEcT\!"0RW>PO@='F\0UYCLs#`BQuSXBle#Qnq9bTr#SQ-*J?(Vcj2j6\c'd>.jh`+ckp_6%\2p\-q<d0&/,$OK<&O'CWq$smcL]DJhctR*GeM8Bm52)iE\WQBFT;p_7=OM!m]>7_!%]I:n=9PZ?<d7&0hIPsjM)LVT'f#CVm,2X:ojVE3/;Yj58Oi8;Hn.RK[Ar[E:1#Sb3QGM_G(;_C<p79r:&\4WmsqK@3;@D<j'EZ1e`,+gkpiJ!V5MMi-;Uf3t4AEI)6`dnHgAO>QYer)=L!sh+r[Dl7`ZF?;?,Bn2fB"j%WNL".n]>bGoHLBio5LkB7*26gkLZ^KU;69S9b*n3c%BC[6DW>>jX;bk2:%)(^a[$;2lh7cd=FAodCp3/F)OkIUE1JQhpEW1AbQ;GaRgGuOl5U5$jia"0Q@70#,@BP4$7<MW1>cNd<3g;Gj.9<;YAl^1+MZ@Jk"UF1ku8?m1WbEb@$o&A<CP$h[U^:q/9F7'a\D?o!GdiA(UDFA9H3+PqU&#gu)phR&pA[n:I2jXYmP\9Nb&<oFM.4G]W45dYhpU*NN:3iGW8/O*>F/1qb__VKYo(.]"XrfukW+P*R8j!-,+EY3=O@@#mAjB!%Wb/tBAjDDIR7gkB(T.Z/K,L:6\0#es"G/Fj0V>A5D\O2<_bop<A"etQ%6Q'?>F+37"Z'<"0aSUT-t*i:(3a+uWHdsfheWqkbQ0<c(=A-Zkhd0dFX%Ma1%_ic,:*tHp!Ft]aVAcf^08H8@UTfJ$_P;[$*'OeOfZcLJ"I$W]tq:r'Z3s5;59MrnY"edME_gY/!O#bfk(>^-&QO5r"3Md[[Ne]W.;7U-$%4e[iBg#@S3'V\qm9&^`g"a!L@4=M^&k\\E@*Wd^p1qZW$DkXW_sAd]-WKAT$e55l/r2Fit`/>YiQ^PRds5dS=nn1Bu`\]4<eES5MKu->59?3_dq1)A!P2?NrZ*iL;C8J0`@a6-6,TB2h)KY0L0:`J[R5$t>b.P?sd+'8.ATOfUc5d@(GY@:l_J0^5r;?q2aV!astSj64KYb<(h1JT!/I^&@3XEj!nhI*q+QQ5hGbJ"bq2Ofq@e-riSknSLjZ7DVrC]W_+a#-NSMoO&:0QpG+6?nP$Dkd>G-JrZ'd;O]2*9I5Y4%!0Y02d(eGn`_Kc.T.PWbNo2^KJiN+;WKGT*O.:(A6BM]$p-aW7>cccS)5I.p>TUjMS?d78?8IM@Cm+u?Lq3j*qYKU#LV=35/TrAbn"S7S6%]&M[(-50Ul:29OC#[!]?fSD);lX>n;(&-g?E,ld,$lp-U6\:Tm5*MoO2fLM^R:iZ%i8W51Q7GpZtm6Og,@UF#Om&()8J$#sP'Z>l85H_<ci^:XC>+00PMI&1u7AY`i%V?RF\+.-25mUY,u.?\j[V2#-;Y3(u2KL+71s'#*UU[%@9E259nE)q#7Os3bfq],)[$qG5bJ[u0$_1t.F?G/X)ACg1M8Y;+j"FWP-g:-s.$o8Jq1FEo,MG%p:Z&4A];57^P@ht3C6C%b2XE\P4PdH;^8c)EHq-8U=GE>^mk?gH\2,E>Mh&#Sri`J:l.Q<\i#8?#SQdchQa%`G`qK$-sE'9Y3fasB%"T3c^+8Wlpk*19n9G"#T`clKm$)2u8qH,g)I)k]c*fqt5cZ&).Fs)(-3rj/)p3!dFH,85dj`uk+-`mQJQpjN^Hl@RLV6+?nKqAKHZKU!h:&-&0@b6r]9pk*dl?/;8]MPiF<#5m*P]nllof!4a5Wf=Hpdu]]a?!fsIcqFUbe+T=5],<&Hg$Ntr+YjOg6IL*p5ukY\hp,OIKSV7cB`k_IJe&kr@:&p/i_RF*PXt2;-'o.3,uDhN]KFF-V>uV+1=6n7\!9udTsF$')E=-]T?ho)HRl!$hIm'g`YA18?8;Lh[1p;9Zgg-De2j3WiM6$`#kfhoc<a[p)Z&Eas-5'^1fBNn6VC4"1ItqeAM6-diGKiCp4RCa8DCZBMNq-eT[%tCphHJ@druk8GN9&CprFu@iq"$>h'sBd[_e2^L(_n0@F[#$&"!6bP@jU+:A-Q4J$%E&NSPZ)(b8(SM/Ymf6>3&R+Zf5H6<8-"B]0KJAR#KakEVdW_QWZl]G_r0:TC65g$&u90gs9."9(clWLo\&^m`oB)Smk"WDOF]>\/71:9"2"Ur+`&eA-oLTb2fd!3,g*Q?%#"'Pdk[+.irW5Us`.CL?mUb)R)#Ar>$$Q!?BWT/N+O0hH`j82!,K;FFHX6NKM%\Ui\A!;paDG4Okb\HCJ'Si333L>N\<L#HMekW2?I%@4:4KU"G]&1TZ.16%S0M<g6Iq4.fZI6&Do9UQ6]KX*q6Q,U(7W^88,,Xb)W+j([_#Dj3FkqgP"meD0MWr"!/Aq>1j`un7gQFN=@1nS6Vj(RP"3<i>,h]Tmrl*Df?@bO45MWu'_SX'N;>H*QMlaRSU,V.oB!9]%ft/'c,q>iU^";h,6`0rLJp_%W<EPC!oG2?Gep+qqr&.obe#`G:l+PQ*hX]H;\a^H_jh0FWo/r[ILE!8/!`!M5?<YkY5.oLj'AU01AVuJK.YRKLZmo:OBp#*fC-BLC9.lRr+Qg`#kq?B#5=!d!>hEk<hIt?qN[?faLa<5T.%^(t:@DNKUKI#q]PV_X6ee1EF&M*#VmZM7$0sXU[Ut+nMd0q.961Pq&_;pS(Sq\jc<6VQ]./d'7:\!-l40TTG9Fq4E)MFj`Uc5\%!tUu.^(-cY-dagF$&F4Q=K[NZf+k)E/rnZYb#`G7FF?>40&=PAIN)?J\W\I^_i_CCrE[UC3?8^?SmHX@qKG+Y@8f&1rSO^bq8YFf-L&3`)QQ$b[U?H\_E1Td+\kE3tDtib[q)YiH:#(i6&A*4d%D2=`^^X`d;<['25huQsnVgk)tf/1".uM7sF5POAI;O9W*\;5U.ZITSo\heCmR:W&m8=J-n_USafr\o%Q@?HYu6G@-F(c63GmuDoSs51D'^bek<`@0G6kXi$[B^9`[!pZ2,UeM.sm0mDpT(mP]#,m!<bUm`TAF=D-Ao\%>Mmj[C)4dtkSQ1lYQ77eD=_m<OT0f@?b3+7?3,R5Y[Kjf(RH&k(<_=$PoQ)`/=98%V4odf0@&iEV?~>
|
GatU6=d.Su&q6H[_4%9ih&&K\i8r\HWf=47CTidr2OhkM!CK-c'-8o#c1183_6X.S*5sOsD#n,?f4aeNrO=n8[6"22juHZ@qrTGQM<b:1!<7(HI==Z'R)FPS8a#g6o@]3'o.C>okk^<46B?h"r?&n:j&B7'roKJ*c4#:H'+Y1M]oF+/IC%Xt\ZK*hr:-;;dZ8pZZc\ir0!<ZNT?0l?h5naSH[b3A$XEAK`M\dKX0gMS)k/[Je#HaOnDPP:/tLmjeN3k`7jRZ?';3Q!.t8=s3;u\PH^SHe:*tH_3t;G%ZL>[k1n3]sHk;1hMW;[/L>Rc-Q`_!!XfW.P9__P1ro2sn%rYO/L2mat0Wic4/K^j$Z4k2XeqE[W=0I%mURg(Pn:&RekIe\[KSX(H>\Ioc(I`U6/KW*QZq*S>/SZ`7A2gVLAMl&-QD#\LWi;n-\X>W?4#e8WmSJ,**P[oh@P'OuO>[!i3hL8Me2eas)5.XtUJXA:BXu$[g53h?%(nLh6g*=:m_#j'<rP6qBB"LWeEM?%e\G"[_(t:1Mnil^_bM'$=cCdhUe'4c#?a4D`&0M)XEYWKQpkhsJ5:_d:Cq^q`QET[)Y)1tMdmumrLPTeqW:,g\W\,G/Tgk`IFu`CQAs/KO@d,M,dK]$YFY)N_eits\Ko7k4Gu]5TEI;H8Z?X=!RHbZV`b[#b4?Gt6,:O3,NW>USh\lK+!^2mIL&*BS<<Oonb=)Ud-3;Q((!$i!A0>r\FY\8"*ufF>_lWK5@&44Aph2Jb\mpr"QpibN/g!W-odk)KA_7"66G/*GY/%O/AX%KDR,'Bi\,6fKcMVI\GIaMjR_:.As6>0%VW,VLj$^%Im/(T)\O6MTr6um.$;$?Nts`MY(-WIeKW9N$\JF]0FBlhW-0@RZ?"RqI3snq#4)+a$sW+0Kjp(XMd-rErfdtq:f:SsRgkGp.'hZe8!H0+Er$25"f,EUO^hFd&a7mL;lXrk7_DS,*$X,U?o]"n-m[3!Hd7m$SP*rV].ncL2'fA9;H@RTbY;+"8:UK8DFH.Dl\Sbs@UN"5D+/YQ@pmMtPLZmY9(akn6)T"]C3grMJ5DnT)>':"1KaiEM7K1p.-jDaU\]7UFj:=D>(eqK&EsV5o&?%.+RD@MAGlglekB6T1P7Q8.ApGQ4(;V0!"0!jUDl?JmmN$9^:ALap8=D'\Pd)$M]RARjPV3]$RH#gfiW8[W=k./hj+CjkYDr6qbjM4i&[5lpD;5<)>FC<mZJEE?7Ue.d")g$C3)h-WIeR%0ZP`3aW^usUSgXDOs3b1>lWD&XMG^76?a=3LkS-fb)-1Bp^+ftUe'.@q)pKL08b+Rkh2G`Us*lo[VNDiQ"VH.6173bOS-l[%ld-,fjS`No+D:Tq4OGuAoilnl)TS-U8G<!N(0PNlb3jI-2m=XrV?E@IL'NSl.%3FiD<]4\4/Z"I%qeW20]M3AeJ-/eA++(>!ekQ&=l)u'3>>h)i)PHHV,RJ]BbOXZ!+W^='7If7QRtqC9W6cJXqMT:=_Ri,&,Y?ElasBW_[>(3.r=HY>mdq<JPMiOj7@NBd%FgMF8?<kCCT,!e'YJe4o-G4QQ>1nhmEkdq35eqOGJ)kQC\2Y2*_&m"BK93N4\N\bIP3<D3gT)D7d+ZNq!UW[*C#`FEC48ir1[Bj\q4Ru;7A%8r)Tr2YUM&r@O^I?@k[N\u6eEc_%u0EHWD8U\F$gj"^Y5M*=Ff;!>T%7(;K_"TitclW`ZVqg=R"@9&'HoIr@5OA3@LUA;a4)lY?J8AqIqP!*!JRkbJ!4[=-=66k'\S0DZA/TEXUlpgK(**_QW?q8(VOU?r/G>uPdC)c<njsNc/lQME\`^BcFlR.[Tj[\:I%e?K]MfECH_]Np`.K1i?R^X>=_B:A"cR\6k,hHDC?'d"6[ton:U<"-?C<LOO4Xo]QR5\Fhn]#QfeVU7a7l@r?h*bJ([*o'iXT6`;8Rb?`80b_l2]q:/@;L.f^A5IEC,@MqpNHFOAVtJ!j2iD]\8`7(lR<lK5?;fXYquMPuq:VPi[5Jb,0Ve=!<P/)l/\J*VP3L*]/Sn,&KSP2^of\QNd)5/KTap\A,3$Z20gsG4K=jYF1C4`90a@kK(kJ]+c[uJ%h2)38fD5G'mlfrUKbd2%*LN5pI?DJOWWe4.2!S/sWG5CD-&HP&=0SUdcNmHpJ/Z"=/R5LUeF_'Z0mbjl;M<0b6UN:3V`c=_>a"<)CKPZm66-4lAjgcKTX@'FkZM"p)Hk?be@kArN2KU$>Rk:66\An;FlW%ZhUP_@h+d=HC3/lh0VH%$B>HB4g0k/TS45gC0!K:W>Dugo.=enDR-QDB9!-2!Am$)5h8=$>D?1,*iaRXbZF4!Ou9!g(9%:S4SO%gh.hIQB$eY<PUI:1\c+OQ([9p3/$TJ/U$R#ILh0EZu%Tk#lQLQAnCe9V?7j^]].X)R,*[o=:'AT@24RqAXV%@O[Qm30rWf@gPuq%_BOs^(CpMP'If^Mno^D.YakRf`Q'X8cEFh;NBO_9Xn+-W)k0]P5c8_RJ0fdF,tOkZZ'Ecg1:-K:=JuOmV])h]-UA^\)lFC@*<Y_h0ko5rqr_$^=U>kW/*l=XPZ$j?je430cI:cF$!EHVlMX\!0/RLpMapirqQAAML2/X(8<?/t;A*=@0YPGLJ5tI^OLWQ$92k.FVg>t"UN_"X=ugP[kV?"PV)\VAeDUUAX9#N4!A>JYIimP5'cHF?diuWu\BLfBfq^/;O_UR50.T3*?rJZn,;tJ6JN#dM5=!d!>`@83Ldl1>Nk77l.2&YC4R(S%ik:_Q@.:[RDfb=FElM"`\:=_ebS,S*BRqC\-n,ZdflhEsHu3#s23Z9gAl>,Bc*^nJMD,qOP`B91B=M:/NaYO5_(1q?G8OV8K66HV-Y9n^52/HsYnn=*m*nZl;//Obk/#&=>Ce#MW+Yc7KO^t)Xg91QFLr@a7\<4WY#9>6_46T2I0T,4;sD]O-nW9:TOY0FX#&Wt9_A(;k1-0MW!al/8(34h'QfI?]W\B(lp">sZSe/i?uue]DfA:[PJT5OPO$_1>K8&JP',_%]).2K/c8e%-_k"Lra:j%gn6]q=i)56irFrRY%csXFq3#c:a^kmW_nGfVkFcMN-KI>R:4u!K^D<k!\+np<@Tc;#haCOLZaC;o_V479;o&V(n4roiL,M9Vi!:m`105(&,8_<C)[16P'Hn=-])NXI;K8PP;r%P8.$F*O8G[,5?@#lfA:B^[:u-,hR!=p$`DOT]81@pYJ!KrqRYH=p\c`N\t.FaS^j7./-mHc*3EGPfJQjUG/gaU"l0+YMYjP[~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
49 0 obj
|
49 0 obj
|
||||||
|
@ -431,10 +431,10 @@ endobj
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
61 0 obj
|
61 0 obj
|
||||||
<< /Length 2698 /Filter [ /ASCII85Decode /FlateDecode ]
|
<< /Length 2818 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
Gatm=CN%re(B'h3U!8p<#7W2HH5;nMm3I*2\o!m\JR(qR$eh=lc,cW[LD/";T<%^_9XtYA-lS#.G^3XYkE:3S41h)TI644T$N@e)$Z0?WT'*psa/tpd*:=Ktj]3_1q:XB+\$NE-mm;pfGW/iug%@<Dr_]^6l[$LU*G`*gIX?8.LWH&k(S4pGH+$^u60b'!Xk>p)N8'9T7*kp'lS95jZOppD!p$RhUM"pRrfeZq4-rilR16:;>,3[:%iq'C-?;u)B]t=P,c[BtnlmQl!fIlJ@P)ZLl<X;1-:&L$go>fD8ul=N%Kjns<n?odg\4b7@IB8No.Y<C4`[cF;6G8C)9+eu;q<qJ-'SgA?HGSNEOnJ"U(CF<4iB0"^>jDeE9MC$%1ZmsN3cg,?.ru]?WA:O$fo@,dKW,dWcdQ0oDS0+oAskeW@b!D[&Ga$'FI",d?ir1Ajl$9hgRmJ?kN380&ku!;kXt,4&3-<%2kk1m5pGpBEGT3cm2MIEWc.0'2$+sNPFGgInJd`ALnLbm4'pg"pAI`4JtFn]+IJsZ)FEkMKkU-oKjYU5F\/0p&bqNFtWtLTb=KALU^G^l(M#NO8J)g9CLk^+Z3'WL[de__.4rn)j)C$6b[i-=:YiSR]pO*D%I,oX0nhfpOhqF!/"7gUg[(4Vb!(HJ<3HG$CUtm-Sqat!PeW[^HUUe80fpij#G!Ee@C$mMmAEh)gWAO8^rBYi("U3Gh%YgUsY=OF*u^GORjpq=nV)J:PXT:07+sd!=9>Ld?).V,He9\5if5433M-ui"*(+"4(4W<H.PfaAt=hXGi0t?W)S=O7ADt*@U')m<%NXNK7CQ`mO+a)s1&]oArVi^3nVJ3'Y9"NBE[DO14ZVX<%on+XG`NJ6aUF]S;)Vi_`KL4.$(WGok2KL]_^8/B46,m\ZQ)`8k,5em7>&G%_W#Src#G8DUoi7@Y1a,&cY`70%s\@:\4qXL)6Qke"nM?FGuB8<6m+_thR-S([K75.p]=p$)>H%Wh<;Lo]'R(dSE+3h8m3&j)M@TE8WU&BaLH>k*1S"M3eD"7iquO3s%mYD,Pn,W1tX*lpE%)WQO)F^KNdb*]&H_+9Y^AVq",jp^;T`,8M-&l+4RPEMc/K!^H2=7$VTArG-`Jk$sPO&3O:RWAr"9!(XSbCq?!\\r2-+-0BU)V(Vjl*-*;Gb,aT_1>5/mdr,1;")@kVBZdLjhj&IQn;dCPhO8Z7Yj<BBM"-k/Co%k?9;r-"Z\7*U_Bac(jR<&go85JQ&`aQcoL2/_<S8IZ/]u?Qako"Z5H`'O^&5AC$qV.qLMW,E0o4YVkT7UhC2.Z0\@Lf1D;oos3h7L'Qc-N6RFJI;6JegEYkc3+6V6D;BA?B'ZIYd.('u1:dAbgW*YQ6F5J7R11^h("6+LT<pJj-!B'0snamSmPDb%+>dg,BeH#[.IGeAp7IC,s4Zn7#PAfG%:%YVrDQaT3)9Y843J;PW5=k-b]U3YD.3HMugB$4a9:>+NXZ>`W^:tM'1QL"Bl+YMCUtHY'$-.UCWnQHRO-.em#fhLR2WS3%Esgk7;NNuCY&4\Bj#DK<*dnrfli'*@`CBhtB]6`?gj:f`E$lp>s+DS?!cPZATl@-oqRSQur,qh@BqJ_HEm=ufXW)a1ZNe^eq8>He4p!+n0j^KfG-H+HnSTmJ#o@BHkdenFF(0%*T+\V2Pe[O)*Y63SNQMEp.DiS=+Vho?+nH$m-Vt-?%,3-WdGVWA/>dAaC;;o8:ZFg*:RJ>o7D+KW1*+(GCq$HTWRc6`6cN)dd2\<FWrfY,TR?*^(DFW@U0(2//JVg)dcKKbE>7G<Y""'[VcnD>:I1qi,%MiEDWcpY,#TG%;ptsVGU`2M4#To;[j*_9'nX#^WE(NL900pE3FH_e'je,4go-dnBcK.;U(Dqb!ZR$n4roY'bC/QhVc-Pa'.h"JO+\QjS&-)&@+Q%f`.S"Vf5h:UF@*4_c&t*BY&r[n[mks]DE-RL<jXC0-)C>.Dg[(i(I_K*//EJ/!@8kar)BU*,HI*V)hC1Z$]Mb(=b=iaQ.!uKNMd;a%<CJ:`uUhX/OMePr!:>B4%Z:[N8b6Q,)*'0D%SUYENSC7UM\!Q6L?/L2WKmAoLV,rY30Hg\4M/-70B;+@H_s\-'ULOWs6UT6Zp`tnAYYC!Pm<e;E4WLJ\mSDP]mIZT].Ep$oHlRQ.CY5m1%8b9]3h??&Wb!_eaKP[,,09&9^duI^uOtLetpKmgb@/ekrE:(R^<U;tGDV*k*<q;?RUd@LDdFTGIQSG;!0_@o&em[bT(]^YfPd`V1hsaV<)ggc-#%e-c<Pr#0:?$8oGUPCU(TK'gXZlaFHnRTH,X!Vg0R*X_CZ!?CJ!O<k,E0\0;MZ*Je*9IHIfjc*e5@e'f2[sNYc1eOY/^LE0riEMY[ati%6ldoaVgRG%^2PZ-Jf702>b"P$-HABgR>-QTH?740=F;BQKkKDrAOQ0-BFBDNmPK"f2_Z#[@QIhI:;g?\m4`s^?:Yk,DJ.+N%0(:>tW2\dfG:k%%dkN?qc2lPur=I,g(@:<b[0u+aqY;0OM?&']XBKkVX5!Fc?#@ID9AF(`Y1,EOXJs!RB=hl=:\raLUh`J<YX4`G\1#t.$d@tJ<WG<rr@W'$n*eg)TQ7k3F6V%\[d=U-=l\24nRa9e\:(9@`BtTOVWV6-S0ZejOa^D2N&HZAmMrWGIJabPHi(PYn\(g/~>
|
Gatm>BlDcr')et?_>$[i^hU1dZ:RD<?q7MnL"B1t=^Zm4,2`lV7SJ&cH&OTUodSbJ]KALh_pWXJ\uN?A]&'KbhQ>)+<bGdbW3M!T+3n,TR"fJ4n5EHNkB"HcOVTlRAZX4,4aXY!HhH5Q."c05m?q+Z1Z9E5lEupPCf;1OaS=Zao09n[KlM""jcem),g/b:o7(9C0+_W9@TjAnJ^q>j9bKm$m(WZ`XKq'c0e'gI_g\+)V*.NLdH9;DG:Mo+;RHta-<GX\'uWXBZ-Ljc6H(r#n"lM#Q'')Sb$QK8>fYnpq--[!rjGMP0oU3ebWic9?o/qe2K;n2;aJWYK;ClEm[8A=Z\bKZG)Sj<l)hTtTur"4LM"3S_^=[mV@J_T[O,s\Znr01Z)Q?C(?$%2/bgnHOK1P*8&)D87E)HHBh.K!s7uMXgQcBZ2_V"!Kmk4Ad-#cJc!h2%dJ,pbT9'7.,29.mYWZ_J<2(k_Bm[<o7VKF.K,5:o6*d&d`(r9["Sq[Q9#;b^^>Qt[.cc\.TL,198NQ)T&<Is<:(O1;jQ0smU5:)<K7,^f(])S9oC_aiV*j$]h]!)d:k;C!6]g3Ofoa5<]=Sk-95fH-UGPbXj7jg^5T'o/jFs:"O`)9T[R7)%F]^M$&Lmn!mU!6klbU%^."bL"8c>A;Llj-c#=;>5.7aL7:Sg\T"+L1*It,>W&1TGLNY'-Dc+/."Rj(pd4`iHB0MEOp"CF8^_c,`XP=Da/[ZI?i78?`5=nu:=9Nqg9*d3gqJkCh+&TnD-D1FM+6m8k'98"U,#Q3O$]H1_20?\D-UR1C(4BZP_aFB-^1qA98\iMOhEZ9/I/nuKA\Hr*l\(Aiuiq(,>pjDV3H15VNj(`id-T5o&pGmLaE.f^_&Js)*1**P^@I&/;8h('E-s3ne\el$P.l%qXQ0rr<<kou?#NN79G-eOa>R/?P#\7h=H[1_7_'Wsi@M6J,/e#1tpNB`Cj6F6J'7=Wpj<7j^AQR0\0Aiq8IfK3:oAumNRp1j%Rli)po/M='IYu]%c%q!E#GhLRYWe<>R',))30#W&c@G9;nRoU4Xk3MA\r[h(=sJ==-9#GHKXK_4GqNTAk(5*L3gV9._TWn=Fbn_H$72591FFJA-O!Whpog/3179_gd=PFBmglFEXprudPq+\S\5jQP^u,jD^3X$lL)SR[$*rM$AAL<s6j3TbeSOV*@PI7M%<XPVLo?W(W9VCf@2Mq%/cek4lrC-7"Lot(KE_q.n*s"tf'^47aE`W-%SWA]KODaW#Tn%#(\-WG$.3YY:`8]%!d:>VpD3?F/c.9Go[VLp$?Z%%of%OV_(B-%%_>p)fV]jY@*ha?C#jST^JkT:'Ps8UP#S!Q7;f>*eKIJ@Cm\Qc8\&(T@hdFMJSL]bJoGH0U,p(<F5M^T16lP.FbnT9[PU4dRAT?]"')hjGq_j`pIc$<Xr8<ngc)ALSHSs[XPs_3=`OkM1snPdEcX+$2b=gr/I61sIT4tgpb6+tWZJiElPOT!;e12j/'L(^+4#^ZaV(e9O1Ci+FXo0Q:]gDnGpU7C7U0'tPQ1pSEk@f$"e^/ja;pV62\X7XKP\T%Y6Mm.ThBee;W"deE533+5In.?i=]'QJJ?G[Rs(YV\lE"m<8.P*?+d2XVt43>3MEg"j%i$e^j3D\l&4%9?r@cuo*K(8X]Bta[gXQfTJbP@Q0$JO)0p]]4Glu;O%qiELs6mc$_/Z0Gf_*Dh:<b8Z<GOQ--.mT5;fGFZg<pE(*o?q<OL19cTs-TS>fLL4di@]8h8o%qtXD/Acl,[DF?b\#\iTO-2Tf\K"of:1X@W@bi\Vm,M8)k?n?lYf/SS0B9b'&!E_(Sp=PJG0Q:b=CUiZk9S3(hTH=7f]iDYmXi29+OLLY32'>%W=ls`YW@N\V8O*nR(P[o=+u11aRq<0`"^<Y'[B#Jo93Ru8-+VQM)/K/R/5n`moSAK7<RVambV:9(*VG5OK@1VFo'>Xri:(LP/!jSETr%:CaB1b4F!/Z]Wk_(.QSos&lXilm``<B%@"!,e^t=Lahjl#5b]<TLY;IL1F@n:%!?GJjihKQ88K)gs8g'e7ORdId*_07H$R-+0q;0#61<L6b6L5?`Nd1+!B'T<G^(==P\f,;eQ=^L>T^8PD^<dBg+F+9*=P=psaaRga2kqRU4+s%uVBUsdf$Pjf3UP$$j=q"ViQE!++h>u8UI?RI_q-JLC(KFL%YrY_YgH&B[:DM"^MKUHKS.'E")K[]P]n_/i=M9oKt#<2W7`qW0;&gV.``]5X6Y6,iG+((eE"=;,`"H5'F:DePc=4Zg(K3-LFe1\[!+54#Ck)mA9k2M`lYXs(EtI9<da]]DkPM][$0klAd\;DaFo^arpA=obA`tJRnuLgN,BIX8j8HW?8u$K+[_qi;qm#+/'B\$S>nkhB20rJN=`b1[!^c!j`>/A>!Ob1_aV7KJ>*,X_A'q/jsBYue?#/K`RO:]0P)OJ0:9FAmWRH^60s@op+aQEC<=WdL<.>ZRc*pK)P[`#D3@A@-3_lV<96QKhq>]`='?&6kc_a6nnrE[LB^D<fRc0B/>d?$)_RWk_4fs3Y'>]m^Br:E>]q`hE%Np>[$@S:1'?=LfNc*;SL]Jt=-;5oTFBu8=UHJBi5HX?GW*ZK&(@P(h)UB2%M>I>!n^*nF.5eYgil@^>\UO9iTNdNf3jA:rqStb*@>4F>P`2p*->)L.u5DhD:d$\=/X;0[^O6dkDr2CTn>`bTH1IP3"QVO[I*j$pYo.5V$$.Y>O4l(1hAmTeUFV*Dti)mO)L5!rm6>"Sp=]"s*;iu<k#0-eFfK_SY<<gmd#8mLDbRDmGA<[~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
62 0 obj
|
62 0 obj
|
||||||
|
@ -491,7 +491,7 @@ endobj
|
||||||
67 0 obj
|
67 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 276.96 288.507 297.612 276.507 ]
|
/Rect [ 356.28 288.507 376.932 276.507 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/UpdateXmlMessages)
|
/A << /URI (http://wiki.apache.org/solr/UpdateXmlMessages)
|
||||||
|
@ -502,7 +502,7 @@ endobj
|
||||||
68 0 obj
|
68 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 260.304 178.713 350.604 166.713 ]
|
/Rect [ 314.28 178.713 404.58 166.713 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/StandardRequestHandler)
|
/A << /URI (http://wiki.apache.org/solr/StandardRequestHandler)
|
||||||
|
@ -511,10 +511,10 @@ endobj
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
69 0 obj
|
69 0 obj
|
||||||
<< /Length 2672 /Filter [ /ASCII85Decode /FlateDecode ]
|
<< /Length 2765 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
Gatm>=``U]&q8H9@*QU-PB*nG`FE\s<CnZQ<DIn5ep3oW87Ed*)NqDHs#pl5@"T^a**$ar*YDk*J,%CSDD_:A_rdGDc2.tCp@.\0-ME;b"[N.'L")a0i%cLjjBeguVp0.LY9#V%qNcGl_06F%NShhQn;hmtX:,AoK_KHVrdXO\R!e)qiB@+k>%umcIfI^J:d8^OQ:1Mb4*f&2$&o$CEqF_laj>D)mX(uI=`*eqHd<Pto`ZW146uA(T!MB2Dg0764?9Cq/FBZLcjY$)G*1kG9r[DNRD8@-?k!K&7=KV)T!Z)f.EU&t+[_lGR6%4qj1ESfk0<$^0G:SP%,PSJB07H&#%lpgc3/&&GAq_0D2V<:0dlnE3g-*j=/r$A:@^!2YL@1[X+nqRl?HQ"(lLtqShPEDn!m('F%0d&9#A*qcoi`BF#R)Af@\'*;lZ#@&Wp%FY)+sj\nRZ6`^Tn7P%d2BHBP6QOWdj_@7ICFR>/s!=X7';=l5dnCo\OX`jSYPoo!L\.\`%4:*UC](#VMu"VL<)<Em,(0R2q-SC,=\&q.Da;RHFLmc`o:[b3:f-?WAMs)u*KKN9*t*`;=rAnD7Ob0qp!J)!C:r*CK2AJB?nT#S!,_@0]4+PQT9eA'LWIo]!%6SOLp`[7"?$Wbfga=@sp1A'sppV6Wb2Io[VP1m-N1D>F/9Y<$=-!l?n@msTYER>Om&d4jXki+abgH<lE9Sf/_X&jlQ]t^N:eR`i5UKsujX&BaRUk7!]E6?rcL/mM-&R8'&>Yo"5;i9F[am&t7ZML55P^Gg!V^MCOQIi.l-!Q(7PM-Ah`=#kW9%>fc&r3ILUs+]h2<u2Z$q[*kYS\*1F&#=5'n?HLLfIiU0.rOD>u9I/3@I#ao$meD>`bKX\R__30)N?TY',q$<Q+G@'#g!Zp"IB:dUise3,8E:q5*e@G2?I8d8uT49T%!>UO4]80[VFm6Pn7<A,plc_6-'e@'o3$W(mU7@;f'LBOR<nNk"5h*ftL:mPQVZS^'ad"L*oA!\I\`\,pe]Q'uH:R8-f5Pi\n@0J*hI4o_RI_`L*3ej#XD\iG6T&>m@:%;Q;F%RMW,9`kFl<E?-%:/Gl5WN<0,+WnlZ,)!Ote!7I4KTpGk3)h!uaE>Tn>F5;Y5IpX+BVK&pY3H+gJ6FfCO^#f7riiWmF?W(bjObg;PS^O$)r@GMh;-/;FN_1^gQck*1sn&s-f'C^``p#[.OK7Im)_l.Kd>W'[Y8D3Oj9^6UlNNT>fjD[R]0$7cLUkDf`(!lHXpEG7@3O<</^tP))`h)1Ui5bh=mWL4n*mc69A'RVVmiSBPO8N,QK<eJ<=W_)G('Td?e^hg/>RsBrW9s.0*/%KNNf5QUFYIfU+]Q6eV!(F-oAcI@F=Dg'Zr"-Y6:1-rD8]q/hirm&l7PlZB\YWaQN%gTF+/&5i6!IHcY:d-A+S!4RLs\T2&/ol,(]ikE8dK\<fg<n\adWJYr%Jl=Y^\MXd]Ya7c)fB+%oInGU]Z,qf-*9p%s@p<00:\!bF+MuSr-79j9'LXF^@-(?BNe/&C'i>O1l9`sGZm,SlRmIZhK@Yi&[#<3ldL<QNJ(`C@`CN6a6L_<8=97$0c<!h@%h;G(s16S-rs'7P/pUCoU>U2e?9^S6\rR;sW\2><9fWY25G@)pTYAYpS3i2=LXgk7b.T-iUZ+hNkJs'5EP<FO^g+Y2->E>/-H]Qhps(]t`\>H;g*YW"d&Dn9X9/)f`$2Yte#Y@"CgG3E//hFK%m-$(S4ed$q-C=&V72KV>cMrR3.`a<3CGuL#So,2FUZ*bqOW)mG8a<eT,s1V&#Un]T8jk+(>MhdD\)UOI7TscXcu2]5;XsTl-WJBJOqr#e,<'#/XUEH%4q^e8%BJG/]>kfA!&$c`*6mu3gG1*dlG:k@cr>sOOP^<AslcQ\R5FcJqgDXn$C_[EA2/]e+gL>jg`d0BBQV$d5qMP@$PO=@s'bSV8`.K!e'k#!dCsZXP$XBIYmaHq+JE8'P3/Pm)n>KE13rKBo9l$>HkofO_p64lGLiAaXeoiHdng:^fGZ5DA$+]Wt1'C'WP,1g>9Rpb/N0d8\f/;9`Q1llS^3@V9LLfM$@`-\gCt\0lJLG)nKlL/PMo#:#DW9!1F:XSP$\+<4)^t7[sUi.,%?*#95,##pdfa`qh6gZG#)"1`rTAF.Uae95VdOD6%G9D<'[e.F+47/Q/Kj&_`.U*R\RGk],5qDgTB0>@t%Z2(rND>]L2nZ8kQf(m?ohC^C&<VuJBs8"g\9b<35f^hfLhq2eQYF*VZM-i6b.HH>4X%lA%=`<ekO8AZK),AV0h3Yc`BTMS_'mA^n&\MUSoQ3$<Gjb\kW!7W1]a_(u2bhb%J#db'Gkf3/[iHSFj(Bsi&IWVsa-KPRD:tY`gl8l,[YCIm]e1MipZ*o<FBgn?`G[jas:KF"!jJcW\F<;a#!Kbcb]9=W#:r+t_h8gLI0Np.F#;pk?DtN(6LPhUIqUtuG^PG6$=m1R('?Xe]RNW)2*(%$HW@rBkB$&Glk.^G/+8elWjT/JK\iA=OJ"AI%.)?OO@O)^7$9NmT-@9;A$kQn5G837T`1`:f*`YPn$`"RF^hun2kL[!M-(usdiJ8ZAnAK]=*1ja+ffje/L'duFh\Wp$,q76_[sG<KHZ"GRg:qiF+3La:0[Hasjg.QVYkT.Y\j=d~>
|
Gatm>>B?UM'n5n\T]T\6PO^1o80GA#<+T"]>LdUDG+R\Ui'uNsdQe>ipA!P.Ll44oKUK!mPW_L\\`hMiGE.^[qo>2@4PkJ"U##g!I_:Mcid5)N_J_(!hqnVM,tnGJV7bu\^YaG=Gk:eSW(._Qp:.m-><*f);6Q/u+eb'GO1G"ggF("Z-h#sLj"HsgmQL"\5C,9<QgNOZE1_Kfa8D=O3&Dj-cR2UYhQ-B)=;AnlX/A"'`qZ2[,ba+"s*Xj0V5jI'5M[,IY3rU&pB<Y'5\F^G8Nts2Wju*J-gt9jU2X<PVml1fWuI[o+rqa\o_1OJVmLpLe=4FefpHbKipE,LgT8:DLkq^t)7^A9*jg_b0Y=B0AYk]Sj*kneaj6*Me4I>!`=B`9CGbh:j57'*FP6^3Mb18r0R2@@K1nOL8i(K6@"I4P4U(1rDQ#h'[>Q?o:aN"Q!iZ3+ZXC@c_m]K"$iUSXdu]CQ+B(S%!Eh*o7]ll^7dUgk+P12Tgn1W`V]<EED<EMCX5;'#aGGe)8eS]Mi'm&:Olr^DGBboPkAc.XN4(X+kgOC3U@m,Z7o*d*bP'UABsP&>cLoaE>'4Y,!js,W1G]NA,0c"_q[k%1pNE\U1@D]E`ir(j$sXSkgA$Wl?^prme7Glb0TBXZ'2'p><IHKX)NdsQ55jU%YJ6b?=]Tgr(mJiI_J&#KL[nF'FXXZ$BT"2ifKqm@&9NUhhp]*Y'>qm"\0\?`--2e+(KJ/ZN)"22X0l\bY!Pf]0H-.*1:N-\Pm1+HXp03/<#P"eU3BtNk(oA*3@`79cNs2#a"M$nUT/aJ;ckql/93@MdAk`sBjd8e9YD]O<aP(1fFWF(!gSAVW0*Kh;?9dJ0/u4u!X!jiWR_!"M#[.HnD$=7j^F"_0NHGc_nl1OLIJ(T@RUK`Z1J.3?88@b>rP!6?&Ud.e5=T;2;j,uPpGJ0T+mHN7tW*s@D#n"(*]\)alqdf&7"PokbD.i6:F3B*Xt#1bH'9kE,_3UEA-P<*G`M7bKhQCn?@)V&hR0`]#_Fhb"K.T9Y".PAOWW5b_lN*cTc4,Lr^*]c/TZC*;63;D%&I<H]^=%4RRFtMgViFmMo=m)W!0qm/X*0C+*eEBIAV12QP>&Vn<Oba(,pfMe])j1`.R0#BsaNirU[a>C]`=S(\$1&AiP6(?QQ%fjo_KXk%^bAQ:?.M$(=DX6R/CQlG@o@H>#,aotW7i;Qg0?.^+,mZ":867SX#QX%+%9Ihd>G?r9@5Wq35E\9ni*H'0WGXl`I,?Mb,_ffp!_Mu3jleXV[*`]G;KA353"ul6=fnageLtI`25[3[''nh79.F#r!BEs?q/@;bCTdb3cFl>KgY/-jurle>8"SCqA"t5jC`E;=4U<%\sqp+<j6nt(gCu*T7`C']*5`-+WS2HJNg!s35'l-J4Whm7XGbP0^9ldtaf0L%[MJ-K@]KSr!C\]gL:_AETqm\ShPYc)Pc\52agEfmuTLNYe)<E7p#uT\TQA_&#<jg[bFqNE*A?/PFjUZ1!G;ED&B*u4qdg%UE=^7./PU.M1,M-dYD-\]1HFtMEI^Es9*QhB#jsoAi$A_5&h&8b;*@-d5>8(0OI80[5hkh1.%O5&L*P(HjD%qp+l"SK.O,IJ0MOk-F.]*nqH,"o>Of=rH[X1(Jd)6`Oa;/]R..VO=Qm\?=<ogI=R]2Y[BUXW\*JGHf258:UffXii.P1R(l3#TR6sc4S4TaOs4aHpNDKMMp.TKhN:&R8Z"nF1$R37=^";O`]hgB<2Y2!`!ICY_:Z^7TEF*YKiOt(8(mZKDTl>lA7IJRJ8<`:rTDKVMr<Cc4%jAZ<L'Zm.TL$=++;7S7tCNiLIr#)'b$Ko:chFZTj<U$&srkfb>I0*hb906'9$Q07-K4(m;MiQ0Q2'N6s<ra/5R0jq1dr)#DDOr\s,ApC!P8AFmlBiTPD;T&VJ.6mjFNjEos0F5o,U:^hUOh[XJ5?&/HssptL_;.hcF!qc4ar"ISD\%f28m@^KJYApRI3ddBFSYpN(0AgT<cI+EAVGae+=,>'tA[!AEU:6coWN\@$U)=;g"J<dW0QR5p*fL_C\+7(=M*=.UR!^l:XNpR,,J+F%=1@9k.*Jc5Nf2DE[C0U/>85AkWtgd!%!m&!,B.^=7"$$XWKPZ!2+R8h)pppUZ'eZ;h&7R;K<BcZ,lNOt'blWSF+[YZ@E8ldkNY9'P'S?"7g?Lsb2d>;[B?BWmfs.Y281p"D]!_D\Ved8#!M@ZoLmO>@]U.McG-h0kunq)I9!bCFbaInR6<>(+R3)s;@bDm%#rJNCR%d8@OjOAoR]%=ZrR#\B:PbI5W";.s:9Wk9%3HcY=nN)1h>E"96[pk-`h\-=%/PO;E4WS7VhgZ7O-;J5CK&WHJ+@FFQc;gF-cfTAN2Hjog4P\+ILh,CLDNpK=Cq:M#`Y$,OK#:tM2X-RBJ-3@"s8FV;7W%`S9La&`S)5'(HO2o^t;dC+8:PR9=[[YesH<,c2J$k`fRr3a!K@h2]*-[ie/)X!W=dJm'.[6PWT"Pi;@nCd70;K.b]VE*oj+&B'0_HYpJmm/\T[<Z2"jBI7kZqXU!:qIHDX0&%,(`6i6j#bYCgZ0i&W%`?leCRMPZ=$>ltIO;8G@7Tg=HOjmtInQp>Zs\-5Hbe$D8$ZSXuc=pp]=W/;#,:R/24k&(PX;"hpB?^jVpG,R<5OU$)>S%9*u)C*1_;JrWXNpS78X:RU%VT?^7sT]_)Nhn19N)YlZPG5KMbK#G6=OE;"uW?1nK<NGCRV2-]%#:INM+o~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
70 0 obj
|
70 0 obj
|
||||||
|
@ -613,7 +613,7 @@ endobj
|
||||||
78 0 obj
|
78 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 108.0 480.747 229.848 468.747 ]
|
/Rect [ 108.0 467.547 229.848 455.547 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=price+desc)
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=price+desc)
|
||||||
|
@ -624,7 +624,7 @@ endobj
|
||||||
79 0 obj
|
79 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 108.0 467.547 223.848 455.547 ]
|
/Rect [ 108.0 454.347 223.848 442.347 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=price+asc)
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=price+asc)
|
||||||
|
@ -635,7 +635,7 @@ endobj
|
||||||
80 0 obj
|
80 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 108.0 454.347 290.844 442.347 ]
|
/Rect [ 108.0 441.147 290.844 429.147 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=inStock+asc,price+desc)
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=inStock+asc,price+desc)
|
||||||
|
@ -646,7 +646,7 @@ endobj
|
||||||
81 0 obj
|
81 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 108.0 413.947 231.18 401.947 ]
|
/Rect [ 108.0 400.747 231.18 388.747 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=score+desc)
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=score+desc)
|
||||||
|
@ -657,7 +657,7 @@ endobj
|
||||||
82 0 obj
|
82 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 108.0 400.747 292.176 388.747 ]
|
/Rect [ 108.0 387.547 292.176 375.547 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=inStock+asc,score+desc)
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=video&sort=inStock+asc,score+desc)
|
||||||
|
@ -668,7 +668,7 @@ endobj
|
||||||
83 0 obj
|
83 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 108.0 360.347 339.828 348.347 ]
|
/Rect [ 108.0 347.147 339.828 335.147 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=*:*&sort=div(popularity,add(price,1))+desc)
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=*:*&sort=div(popularity,add(price,1))+desc)
|
||||||
|
@ -679,7 +679,7 @@ endobj
|
||||||
84 0 obj
|
84 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 90.0 189.613 380.028 177.613 ]
|
/Rect [ 90.0 176.413 380.028 164.413 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/select/?wt=json&indent=on&q=video+card&fl=name,id&hl=true&hl.fl=name,features)
|
/A << /URI (http://localhost:8983/solr/select/?wt=json&indent=on&q=video+card&fl=name,id&hl=true&hl.fl=name,features)
|
||||||
|
@ -690,7 +690,7 @@ endobj
|
||||||
85 0 obj
|
85 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 446.616 168.413 467.268 156.413 ]
|
/Rect [ 446.616 155.213 467.268 143.213 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/HighlightingParameters)
|
/A << /URI (http://wiki.apache.org/solr/HighlightingParameters)
|
||||||
|
@ -702,7 +702,7 @@ endobj
|
||||||
<< /Length 2366 /Filter [ /ASCII85Decode /FlateDecode ]
|
<< /Length 2366 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
Gatm=D/\/e&H;*)+m_SDFt"Y6mfE?[*L^HT[Vh([@;CdP[V8s%/@h!UfDg:i]i[cr<#qWFRRf:(Q$:OpcYjT*[u8q+R8(OHZlMg<FX^=?4Za!&95Z?QLEGAUZcFK%ja/WXG!5NrML'q:XsJe0SGbHpZ^BS*#8U;Y(7U_/D.gWbr_]^CFWK-&>Dp2fnTdZ3=KbiGk4q/IM*e;UKa5HUCA5UACb:+8[AF\FGE!)m91%NS[;_XtKUNOF79QaGXoP68%;P\@R<^$`I4tAjaO0<KF>)rr<UN:ZT[3AF=R@fWjgfa#h;ai"8Gl&:8@B]WOr%6e.P!A2RnRuY7kWi'bSre2VV32%NN!/N*J>tQbSRTgJ]M[TiH')f^W,L_g<V'#^W]?B,fg=SE/`E$qI7JQ7%GUV.E;jM`4jL-k9&81:(lpY;u4DAhGS1L</auK738]Qlf$c2Bg-,XnhS$&?Lf'TP,3mMOJ4.7MRR>L*)S2)8D#>u^mm<NE_i3C]-[!4mgk9=X"@#-^ibtQU@Zk*7\e`8BTO0n'+pil9u30?0/"$WCiXnq=HDIj$U[ld!AU2_'1%UV7ItNZdIX:uI@L"klqK$oon8#50I_m,NFo!ge7^#`'_-J`"9VQ8Xi!TRW=j)eZ%.smL$_3)@;'&>XG7^b)FB.d\ik!>/N=>/Spd$E)*HY%R$nhs'_N]M9V$CM%oCiP?0;0Y(%Fn`Za/4pj`ZE34Y[tr-C-ZdV=nH4BlGfNPh;L*]kgC%]XT\qU`;-.)KqJHrE*hiG&:&V9.N.B1R4,WQB]H8fk/YW]'HD3@?=DfLf":p__0dEf$YfaGi^+Ur#'9HEoL_Z;M@DrSF:IY`-['8_isVKYLcmT;;D9.Nd)`2;KA1:M,;cm;r=i'opJ8aV[l5)HCRV-cm;GJWlhud.1C1O"p:@qH6DL^$WghglTPa[[!1?+!A:m`_hEjsObWAa8Y-BtjiW=2b@OpLNZ/rQc$F$mjOe0KoOJk9gp:;Gq6"=KI)skPa'Cc_G,V)LY^E?+0*_fNMQ<'D$OjG(0=)n/K\?\iERcR\bls9.gF3@ES!$B&%,)70P@Y,R>Qm*?X;qj*FPDMM6e7)T9WCH\q0Ema'roM/rU)l'#*jL,J6(0ke7ucah[^,4eFCmVIq`RKFJq]VDphPDWFSCq15=kP7UBM^fu/f+/QntpK[]*=pJt]\Wk'fUa`aOl&'5i_4G:ulDKOdarBb^^GC)G<LjGF"116dDhZG"""nldb08-87rbTGM-X`:hn3/^0@rW4Fg5HVOXeBP7!'4f5q#j*7]>li(21(p\TG[<7U9DkHpc;__TdDE-i'Z%7j8DN1@fP>3WW?b6DSRuZ$I8-(6Sh>Rges^%_LsYT3!jsFbdLdZAhtCA?kP8d5S]0i'a>]c_tO%TaE5#11f<A"O6/g%The6dE*:DM/[&st57?5[X+(&e]0s6%/#0!8D#%N=,Q6fmlOV![Vno2lrg)MFM,QA=k\+I2QEktl:X*):r/Ar/+)mWC?,jqTg%PdU%[?Rh_@O-c0TWULf,R`4TsM6aTrQN#TV]h.6GlBg6O$t[JHsdtgGLarJC]FY;\jZhH&T^Vj="<[CY/i;ZXYC"5%+rLb(GUo(n.iNnR]c$C2_\nAiK3R?$L>EG/<C!L8r/Z".*t^.B67o^_,)h)QoH8gWaWMa0:fE28\bcQ':6+bmXd[PM*$<.meC:TpIchrG8!e1>aAi35-!m?TBBC*[P,SV:@4+EOncb2/Ygi;E$eG_W5YOlKD*JQZ7Tai[HM,rZa8NX15qY#ltZ`U%QS)`Hj-0=dg/O'QmNm(gsPr=pNuCQu<+/0Uptl%G&JJ7`!MI&)[#U?+eu>n@uHV9=U]RF+bK"rRm&Z5CekY))Zqih%9OZbilQe6"idUecidP`V@GYifR&G84i*s*#T'5UUi(2OGs0MjVfCXGp'547<,iL]nLOiaY(bp43/i52M\6C>tVVLM=6gjl:t-eI!F@h(K;]V+1?SVm``UNjM9@r:X46U)mb^-X9?5jmk/G9?B^WgZI3Xl5o3[H7AeaBEB_;kI97ShC[osI9uU!;rn,Dtre47nBJ_8"AQ$uE]*KJga][Xcn`9q.,^!=$+d^[UdU43sH&9@kj.Tn)&ots44ng3e_bj@kOHbnU38njAR0210F]W,+oG+kcf6ZpS*-o-,bjKB;R0A<Rc8)%&Te+V(2@)hfp^DfU7*%"VRmc$id/t3G^h\PBL;L-'B@Fj1*>KAVaUT5'J+.ceE01nY?)cW_57(KNHFR(WY/0i`PsLA[XFA;%B;lHFiYO'TI"L)"]g5j@FDoFRVg`o>J6j805@g8CeAQ4;Ej$CrlGNuQX2!bp?Rj_hH5AS`4T^[+rWc5``/+~>
|
Gatm=D/\/e&H;*)+m_SDFt"Y6mfE?[*L^HT[Vh([@;CdP[V8s%/@h!UfDg:i]i[cr<#qWFRRf:(Q$:OpcYjT*[u8q+R8(OHZlMg<FX^=?4Za!&95Z?QLEGAUZcFK%ja/WXG!5NrML'q:XsJe0SGbHpZ^BS*#8U;Y(7U_/D.gWbr_]^CFWK-&>Dp2fnTdZ3=KbiGk4q/IM*e;UKa5HUCA5UACb:+8[AF\FGE!)m91%NS[;_XtKUNOF79QaGXoP68%;P\@R<^$`I4tAjaO0<KF>)rr<UN:ZT[3AF=R@fWjgfa#h;ai"8Gl&:8@B]WOr%6e.P!A2RnRuY7kWi'bSre2VV32%NN!/N*J>tQbSRTgJ]M[TiH')f^W,L_g<V'#^W]?B,fg=SE/`E$qI7JQ7%GUV.E;jM`4jL-k9&81:(lpY;u4DAhGS1L</auK738]Qlf$c2Bg-,XnhS$&?Lf'TP,3mMOJ4.7MRR>L*)S2)8D#>u^mm<NE_i3C]-[!4mgk9=X"@#-^ibtQU@Zk*7\e`8BTO0n'+pil9u30?0/"$WCiXnq=HDIj$U[ld!AU2_'1%UV7ItNZdIX:uI@L"klqK$oon8#50I_m,NFo!ge7^#`'_-J`"9VQ8Xi!TRW=j)eZ%.smL$_3)@;'&>XG7^b)FB.d\ik!>/N=>/Spd$E)*HY%R$nhs'_N]M9V$CM%oCiP?0;0Y(%Fn`Za/4pj`ZE34Y[tr-C-ZdV=nH4BlGfNPh;L*]kgC%]XT\qU`;-.)KqJHrE*hiG&:&V9.N.B1R4,WQB]H8fk/YW]'HD3@?=DfLf":p__0dEf$YfaGi^+Ur#'9HEoL_Z;M@DrSF:IY`-['8_isVKYLcmT;;D9.Nd)`2;KA1:M,;cm;r=i'opJ8aV[l5)HCRV-cm;GJWlhud.1C1O"p:@qH6DL^$WghglTPa[[!1?+!A:m`_hEjsObWAa8Y-BtjiW=2b@OpLNZ/rQc$F$mjOe0KoOJk9gp:;Gq6"=KI)skPa'Cc_G,V)LY^E?+0*_fNMQ<'D$OjG(0=)n/K\?\iERcR\bls9.gF3@ES!$B&%,)70P@Y,R>Qm*?X;qj*FPDMM6e7)T9WCH\q0Ema'roM/rU)l'#*jL,J6(0ke7ucah[^,4eFCmVIq`RKFJq]VDphPDWFSCq15=kP7UBM^fu/f+/QntpK[]*=pJt]\Wk'fUa`aOl&'5i_4G:ulDKOdarBb^^GC)G<LjGF"116dDhZG"""nldb08-87rbTGM-X`:hn3/^0@rW4Fg5HVOXeBP7!'4f5q#j*7]>li(21(p\TG[<7U9DkHpc;__TdDE-i'Z%7j8DN1@fP>3WW?b6DSRuZ$I8-(6Sh>Rges^%_LsYT3!jsFbdLdZAhtCA?kP8d5S]0i'a>]c_tO%TaE5#11f<A"O6/g%The6dE*:DM/[&st57?5[X+(&e]0s6%/#0!8D#%N=,Q6fmlOV![Vno2lrg)MFM,QA=k\+I2QEktl:X*):r/Ar/+)mWC?,jqTg%PdU%[?Rh_@O-c0TWULf,R`4TsM6aTrQN#TV]h.6GlBg6O$t[JHsdtgGLarJC]FY;\jZhH&T^Vj="<[CY/i;ZXYC"5%+rLb(GUo(n.iNnR]c$C2_\nAiK3R?$L>EG/<C!L8r/Z".*t^.B67o^_,)h)QoH8gWaWMa0:fE28\bcQ':6+bmXd[PM*$<.meC:TpIchrG8!e1>aAi35-!m?TBBC*[P,SV:@4+EOncb2/Ygi;E$eG_W5YOlKD*JQZ7Tai[HM,rZa8NX15qY#ltZ`U%QS)`Hj-0=dg/O'QmNm(gsPr=pNuCQu<+/0Uptl%G&JJ7`!MI&)[#U?+eu>n@uHV9=U]RF+bK"rRm&Z5CekY))Zqih%9OZbilQe6"idUecidP`V@GYifR&G84i*s*#T'5UUi(2OGs0MjVfCXGp'547<,iL]nLOiaY(bp43/i52M\6C>tVVLM=6gjl:t-eI!F@h(K;]V+1?SVm``UNjM9@r:X46U)mb^-X9?5jmk/G9?B^WgZI3Xl5o3[H7AeaBEB_;kI97ShC[osI9uU!;rn,CIbYF?1$&rO#VbCi?B_UH&+ZX=S-bd3cOJ?]//#73S?ht/K5;+b"E',r#:-u+.Y,@ioA2n<R*0O4j"Qqja-Z]9W^$^^cS%\r"j]W%`La,\sQdOXV4gVqc_,1Ed+d>DV^]jgr!hY#T5R?')IZoQA-@"Ht*-b3EfMM<Bk\Su"TqgTkW7XB\m13Na'e[o9UarjBfI%gM>S#FYeMR&mV%SU3Rak3ei@G_Z<W#2FJPT*'\i8hFKC5iZqU@1%&(%>OpP3Q`S=6[a=70)G=.M<:AG)9/oh-Sm8+.XWVFTQYa8_#.`(C~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
87 0 obj
|
87 0 obj
|
||||||
|
@ -815,10 +815,10 @@ endobj
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
97 0 obj
|
97 0 obj
|
||||||
<< /Length 2933 /Filter [ /ASCII85Decode /FlateDecode ]
|
<< /Length 3267 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
Gatm>=`<(T&q9SYd,lbb`#S<o2/c7LA?a]lAB,-1(,PP)GI+o8kigE&]D'oqOh-D_fkt;P^i>:W3`u=FPWs&'mPd(ShGEY@5@8=ATD2_0L@Dq`eE:$J73i;O=%i#Pk$L%h2`EsL#s?Ag]?U>pf5s4SUL$_80G=6!gD&L_ml*c4=7;Gh7dlhR5YnM0C!fkMQHd.DMmUa/ZC/HuCID+$%=*Cl?_:)=-?k8CKt]+cc9FBnB+f40b5$*Ympp9J!ZGp:oAfEs7;?JNmgj@.[tP-56H!PhXPCo6\Kf[b1a[%oGlNpBVd*QTGUEm'%@F0?b/:ksb?R6-jVAjp.o(6[AF*K%puar8T>&\:/kt/LT*4\Wg[C()'1&iHTRNsk..P@,gnB(]BoPgm8dr?hnp2).Y@"s^)Yo$gLEK/Z%)3120gSpYVNos.8K:.TZhMgVEM0HFhQ4u;`R*dI4j3]13EGMi)ZuG384tZcoYo!c3d.ei2@C02da09:V?B'+EbtI/>S+.cr.'@1F'+6R5)BEN&<FY/6h)K2NEcnfkq6gOMfF!3BE<$.No6/k3*r9;p@I,&mXf"LYR-Up]2%(.ZW5u'E2t%:5oaTCB^2`deCB$Ir,;*$cSEh(XHiIF/8oM6crVnbr*A.CVmMTb0(PJ""Hai!9tmAN_B7f"&_Fi(Hm`GMiG;\CMshMZlt+mo[;:;pjn>(m#9?ms:)!nb3(3U(:,nc9"eeN]CG/5UO1Dpa7u9i4$X+o]RT:2X&JLeCp36b0699nnqsoh]c1,"<:S;tR%O*+EgYa2N@efu]!4%"^#9$OXVWTmh!Gh:e\g/3lPrs%XhO7[djG`t(0]?UtBfQ_K*=pgHI6>"0SIMHd%t"u*"Oe4r!0h)P'K:h.>;Q6SnIfq48E(r71'JN9S-kF\BhgG0V(5%A&J,jg>DagU!i"sa/q<#8'Kfq[=^ar9!\V6S@'cl^D?JU<JF[@H1.e]2LcU/[iq.J.kYLB&&*L5Jc\:W+VYa7PB9URS,ZXo"D'?hAlK_POBMCi+:FfMWgrKVTCqtj-UJj-<0*(CraaI3Y:e!q,B/8@)MI9qh/mB?81i)%CHu`B#9_3=h@<&f_^Jqds/d7Xb2lk<,Dal#B*;?pJ?-<j02VN"q5$)$L6YZLP'0]I!CQ()IUo:YL7#+LG>M1k.$r:$;0W7'FJBOlha#M"U&"e<]s2Wq;QV&O>TX\+Nj]VC"?,H/5m;X<V8H9o)5Si`;L4G[B=2g#Q$W8A.'ae(o`:gYU#BN'lV$C`-3Y;^7$J]iNNa&5i>A#>6db$9fJ9h[GD,m++&n'1]fR'O)rE%QpD,YkLA[Y\t]L))N_hb]N'EKhpT@,:ZWuE:M>9hbLAZg)$-_)rB`7-I9S0Uq4O"4;NS<41[n0i'dbFTr.]U'K#OZ82GY2gp];D$d%ia/GP96H][8mG@._ruXYi\)VhO[lsY`"J"A$>7`^5eNq(ELk+OJ!Q/O!L9qU$&AR1&AL_(<#Z`;-6S$a*4i@&TMr"lV'Gc[+-1rHZa5O!&E*esNCa+diIW6(6chHm>Z\t*>`a!40<?fEm,#oNqffBk7a74eiiHOX(8<C$Za@Z5(Mu67cW7*6j.WA-mi7X@XHh\r*):Xr_5)PQN)[kjS8=dj&TkU,!uebV.J-#6D@U/[V%(0&^!Tj^q&(-U0j*%-G<j]l9T<5*d@m^@\&AEqq=2i6cr"@#E<*,u%a5QF10''J*_n6;TPS!:a_Ac0'jakU9/B(b(M5R5na99Y)$LRE(<et=V9T<\L'@3q,]h_dAB)$4c[kQ"1882M^@*af\f@F)EEP?]U*-j*rY!_`;QSAh;p4S!=C4h\UT;6A"hf6b4#Jpo1Hi0Y6Mdt.5Gh57i*fY]/+f;hd,DcL!u@PS4(mJ%bW9?]7g?\4]Wi"f`0?:baTa/Z5XmIWQ?W&KWm.uTf_AQSlp.8;,!Jt[L&aC/CbF$X70LlQP&MI->%K"=0H+,*?'#`(GYRhhJs?7`@5U;)imLCHe,ZaF@D"aj-h0[JL*1i)V6&.snD2Xr+7j?hWG42p#W5"#=":DhUrd^_j]t`40^7.P^`Z?I;8,13j_`^V68@RubpCTpn=#V0\A'?7A\:i1`,n:b%5cTYQBJ>_!fQ%u83b1#DVIU"LMJ@LD)mib/.0F6(C?8Co?(&je\hWJL5,9(C0^_g;N)5.>o((b&M7*=5Lq&U-]9u^Nhf5)WbYD$oo4cr6YNoApN)'nYJpiD7>:9GP:cDc\>F"%S<$QL?7?<g^mW=rL=.Mq>L3A@j-1@X#4DofdhNMD\a:ojV2m]27FROVZu-m'-%;66?B_'WNNOZ1))Q),\?5$).ej]`U+3M:0#dcLN*bmLXS:4nf^(s50s812V6K/nFu\XRe%.q#"SHj!MkY'PB9NL/:cEIXAq=U@RM;f=N]kY]N+($KDhl%5?"9MhNKiN)Oa90LH3mkO\mCom\%t.rf1]Ohe*ljM.+)^g_mTVCecerZ?WVp``\u?fVaU8DI?-6m:%#3UBWd$^mI8(!M'c\HOOVK"S5ue1OD#9P!VI9+OG2,%@#jq!dfX\]\brc7*'DfU]Zf6@X\Q@:qm@5&nC@7T3S^<iV"d&PT`Lil/B9ih;?j.q6c=?hn)30MVlJP7?)(%Ga"2uM&QG?LOpY":N,klT,c8u9;-)cZ.`3n-s*EZXZNC0CEt693C*K`kPR-/(^+[t92MD1nLFP7Z(<@W[<oRYr1L.GhE3@trgTFWe13$I:]U/u2MN:<D+tlih/sZp.IaC@q$W5!\Kt8&*L.W?9/ImDEr<SS0?s'&*5hU9Eg6F9:#0LZ<(;XYCBFsrUQm#0*A#(jPqg/>hYt,#;X,hcV@GjHLKsH3@UXQap6UdeW/A;'(dbju@Hp='lL;-IJ+7;m#?D-J:C>V2c+gbVP;K_(rh`a>:rVcC">'>OiV1-Ih6QYkagXh)f~>
|
Gatm>=c_;s&q9:V+lm2i5ai9<*V7iBG8IlL9Y,e'Qja2+7GC.>aePWC4hlG=PUmP`8To"f6%VX>*N],&?r?A6DE^8>r-:ZC/c>Qp'Do`BJfoSnKl$d=.leo,jBeh!e]k9VmiHB'IZba`nCtkC`]&!'r1RFe.iAY@iB?P@hd/P6oZuAG1Q5XAC6+s$rEQ+q;WZH+./0`:MnBsX:aMjXgBC`'6pDb'=fN.RW'ET0B]YkG/lR`hVtp,fU.fYhblfk,n&EDGSO.(h_!cL9i?+'dGYH&t"DOIkB:Y.+Ket!tZB\R&*7?G1^4,cn-j:+aYW=$nXPS;'KHq,Vn0[aS'$8LIo'SRMou,tC)[$XEON;1MdsKV<`L`m0]hSQ2S`ie:@ggl?]:2c4ac(MIKuP7f8]dKFlf/#n'cTiBZ=B/#[O83Z"mE6>j5XfqgG?Q#Q8KUg2eAt0UtEe,VrqR;+S8XEI)K^8W\meFD_\a56<@j,C;&1uL%k)(.`\2OlaNMG+Vmj8i"77jMX4(8G5qP[+9-KXq`lOTk_*>s\o_)DIn*7Q]fHI%&I1]Z!K9!p$t:NhhctfdOUG&W-2SH\B8AEOP;+rMc,t[mlH,ugTg+a7<k>;t5di<=LEZsOTQf8n?/Kdrradk:%'DO'<^Z`*\)2X(08ji\6>^aZ</)^^[0=B7+*=)JVB78)1&^IGH;&=u`&_K[h_q$n:9X(89.-Ndat^i:J=_U>[4346EQV`'d(i]W$Cl.h-?JETSA+gHgn^RmrfBid"=_97igd)J:5l4W$da]n3+OpgU[<]UIBt8.P*40<bb;g!$dr,kO>%5(;%'cr[Q<#OMmmu$LR_2-(>8S!Qf9d2;\d=;7Q"=cBBZW\Pc:[\D%/);&Fieg5kR?sD`&QtIQSs0^Md^lrB2g*rq@hZal-aDc-g?^CnbP,P6JM)W\@?@AuD=_=LD6iHTN%s\=RS5g8m>G^UgBPn3Vkp`d%sYnIp5mddO\u.kHJ8,h(N-[Q<Vp\k1L%F4>NN\)RPuXQneq5QuShpf-O,nS%6GpAUjB1t;0S+l%g*;*gCBA)BUjDldORUfVIcA'Cad#.nib2R>(aE?o@#9FU4a$>X>=4ZTc.s<!D44S(;SEL6)jg(0kh<"L-n3V-l:!aCNP0Q[Cf/dmP52ek$?C\chjP$_k]8i"Li&'0'93lcU\J4b*H=DjkDtPhO4\*jirsV"$sH?,tUbCL57k$nM4NR)57=U#FXjlLepXID=_VLW0cfN%0IeZ)Cq5GC>_30).[t7[DeS5g9S1mRaE>.!?_^/bgBCj\g_d0<.MJ(d2?4mm$F@V5XQK\n*#XT-_S7IQaBkVeTkHiZ0&\EWYrG\2E?ZMYL&W9dZ(uOo7e!fYVO6Jo_)*`4YBKupk33M(eW%XS`lkC6iff[2Cu^jo'AX@P[\4(*A5R%3qLn@)'f&7=Id\3$f8>Ff]`'h0tA!-IUjj'g:bC!:aL"09^GKGjrpMh2J,2S1P[3pTVm\#nE-b2r4iL#F"!W%Gmfp"`@O1r0c'I\&;?Nikf'n?FA9>8p8&LG5K]B(=@%U5312a3$h;"[TthH'd(0"(G`d\L/kE]K<'<,.i)/8;G`ctK1o_NjbVgqg5MSEW/`i9P2!8q<.VWKuX86X!d3I&Z'bX#;Z!"(Z*(k8["&/\9BQZN&/D[4C9`8K3X%UPAWdEs8=O-a_Q;WLtT.PlU6i24-TR[K`eDsMD\!W:2MJXE.AH,$%bp1mP4rBNW(s:FobtDO#dcXRRIt8AGVonC/:TPZLA1nFT?H+^TrA,jG(>7;7OB/DuWV,1h8-5-$(<u%@s&3+iY&94[5D?%0p;Pr_;-jE3kcH%u_.=`T,,$Xl;LlpHNr_gqUZB*Y,>-VXr#utdD-kUMM&-+lSlh/":+e)<#*iOL1!a5IJJ^_Tj#5_neZm]/V?"ne`toBt!(Vh%Hs=,uRtj4@k=e+T>6;JD8E<Z"F@U$*Ro[nFA=9$iIR6Rl-+9WU,9ide]YsUJ(TcO<I820Qr;rL-,YVD7;E,"?LAR,tn't<d^g`(02HQC`[;/6HN-5GB9>pc`0Cn0&@X?s/Oek]53F1VQc,!54D]7EL-G!BIl+rr"caMM"")!:h]6;k7]#=%Y\f%mRdK6+Fd2?>42Spo3\Z&)aAmO8cS4m(W)<OWU3IqhRFdr,h362Fj2eVa2S#auiM$m@'Vb91<*DZP&>%4I$U,_^h.lS6.)Ynh%FWtIJCj0Bj`8W[Jp,AaG&Dt#8%ACP*-m9#YMo$No4qu-GESP8RrI\E6>?'P,05+KMN>:EF#`kXY9jc9$H9_Z@,os-P9#lo>^rAr`SfDCD'I*XcfM"b&!aBUt(`o-&iQZLflGNiT2o`_FPJQ[X%(&29D0F@?]`>nOC2::[hJHAM:j`:Vh-N=GXI6?SWbg^5.c;/.&36[r4<YHf*2c)H%VZGI6,U7\13AFK<a.I:G?*;CS(a:3*O,VqMfi/Z>L^?"Ab@g,DOm@f:QG8*>0]nZJ6k%VaUHP-jUaDV6!8Q$c$;"U\HZV.$O0UN_#G[mBF?K2*3FA-Cr,,];M>OQm>i9"mo=8j6/W].F-s]/:=H+bpE-4"?T;:HQgZG`R3k9L=]pAco0L7c'OAt9HLB'02kP5_H^Da7ER$P:7S3'DKq/jGF1+3^G!Z!),(HL3S`F3d^Rq4W[K.G5cHHJAS,gUb4'(C\W@ig<@hI!n[e="C9Z=_b.hVSFg4GDjV`Q1o\4trYptnN2Y30iiW`\W/"lk8%6YZo]j/m'Al6N#fq_$juCngM2Qs*[FQMeT$QfQENaG%1J0C48pE'Uf[X=NH'UEZbP6h'LjgpIm[ZNFb(_lQ4&V9YtIV%\#QWENgnOVXU)O%I+-RXP0INh+]-RsWS;S+MMU(>8%-=IHF;.-8f\\@iGmXHe?2EXaY30?o0h,+Lbu[*@BfddM=Uf<s'7iXUp&,_1W9o&*Id6Xe8)V`.\"?iq2jqGET[@^,ZRlXu,i"c(9QcWPo2$O5e9G*Fi,@SD_.;P\9Ze;%XVo%eckB%Wj.9=GB-![BnV24TD?#?E^lHE"G)PZr-]l^HWjNN'OF&+e_pDeHJ>8/?LpS1Z4JHYaCa8ari6_LQpLD8,DCD:^pJ5D4^BT,;sk@XDG6SB_MlPpep2O15u6&r"$707?2N#`OkbeF*AJ*b1n*f#NFV%V=(H"R(;LJVq@M9Xd*IP/;C"nG4)fFF7Q3+-'.q='FFth#XU4T'qS3rRC#/m`h[',2ZW+&Ob4G]6c6;/+fpf/R!`Ed/O/9T[t.~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
98 0 obj
|
98 0 obj
|
||||||
|
@ -843,69 +843,12 @@ endobj
|
||||||
108 0 R
|
108 0 R
|
||||||
109 0 R
|
109 0 R
|
||||||
110 0 R
|
110 0 R
|
||||||
111 0 R
|
|
||||||
112 0 R
|
|
||||||
]
|
]
|
||||||
endobj
|
endobj
|
||||||
100 0 obj
|
100 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 170.304 609.2 224.292 597.2 ]
|
/Rect [ 111.66 626.4 147.648 614.4 ]
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=power-shot&fl=name)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
101 0 obj
|
|
||||||
<< /Type /Annot
|
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 360.744 609.2 386.064 597.2 ]
|
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=adata&fl=name)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
102 0 obj
|
|
||||||
<< /Type /Annot
|
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 170.304 582.8 262.932 570.8 ]
|
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=features:recharging&fl=name,features)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
103 0 obj
|
|
||||||
<< /Type /Annot
|
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 170.304 556.4 230.424 544.4 ]
|
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q="1 gigabyte"&fl=name)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
104 0 obj
|
|
||||||
<< /Type /Annot
|
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 445.152 556.4 478.488 544.4 ]
|
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=pixima&fl=name)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
105 0 obj
|
|
||||||
<< /Type /Annot
|
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 111.66 520.0 147.648 508.0 ]
|
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/SchemaXml)
|
/A << /URI (http://wiki.apache.org/solr/SchemaXml)
|
||||||
|
@ -913,10 +856,10 @@ endobj
|
||||||
/H /I
|
/H /I
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
106 0 obj
|
101 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 496.524 506.8 526.524 494.8 ]
|
/Rect [ 496.524 613.2 526.524 601.2 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/admin/)
|
/A << /URI (http://localhost:8983/solr/admin/)
|
||||||
|
@ -924,10 +867,65 @@ endobj
|
||||||
/H /I
|
/H /I
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
|
102 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 170.304 421.6 224.292 409.6 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=power-shot&fl=name)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
103 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 360.744 421.6 386.064 409.6 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=adata&fl=name)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
104 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 170.304 395.2 262.932 383.2 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=features:recharging&fl=name,features)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
105 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 170.304 368.8 230.424 356.8 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q="1 gigabyte"&fl=name)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
106 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 445.152 368.8 478.488 356.8 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/select/?indent=on&q=pixima&fl=name)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
107 0 obj
|
107 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 183.312 459.2 203.964 447.2 ]
|
/Rect [ 183.312 319.2 203.964 307.2 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters)
|
/A << /URI (http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters)
|
||||||
|
@ -938,7 +936,7 @@ endobj
|
||||||
108 0 obj
|
108 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 172.644 407.947 211.308 395.947 ]
|
/Rect [ 172.644 267.947 211.308 255.947 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp)
|
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp)
|
||||||
|
@ -949,7 +947,7 @@ endobj
|
||||||
109 0 obj
|
109 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 90.0 360.347 111.336 348.347 ]
|
/Rect [ 90.0 220.347 111.336 208.347 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=name&val=Canon+Power-Shot+SD500)
|
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=name&val=Canon+Power-Shot+SD500)
|
||||||
|
@ -960,7 +958,7 @@ endobj
|
||||||
110 0 obj
|
110 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 137.664 286.347 208.656 274.347 ]
|
/Rect [ 137.664 146.347 208.656 134.347 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=name&verbose=on&val=Canon+Power-Shot+SD500)
|
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=name&verbose=on&val=Canon+Power-Shot+SD500)
|
||||||
|
@ -969,45 +967,25 @@ endobj
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
111 0 obj
|
111 0 obj
|
||||||
<< /Type /Annot
|
<< /Length 2131 /Filter [ /ASCII85Decode /FlateDecode ]
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 137.664 238.747 223.332 226.747 ]
|
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=name&highlight=on&val=Canon+Power-Shot+SD500&qval=Powershot sd-500)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
112 0 obj
|
|
||||||
<< /Type /Annot
|
|
||||||
/Subtype /Link
|
|
||||||
/Rect [ 90.0 204.347 113.316 192.347 ]
|
|
||||||
/C [ 0 0 0 ]
|
|
||||||
/Border [ 0 0 0 ]
|
|
||||||
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=text&highlight=on&val=Four+score+and+seven+years+ago+our+fathers+brought+forth+on+this+continent+a+new+nation%2C+conceived+in+liberty+and+dedicated+to+the+proposition+that+all+men+are+created+equal.+&qval=liberties+and+equality)
|
|
||||||
/S /URI >>
|
|
||||||
/H /I
|
|
||||||
>>
|
|
||||||
endobj
|
|
||||||
113 0 obj
|
|
||||||
<< /Length 1568 /Filter [ /ASCII85Decode /FlateDecode ]
|
|
||||||
>>
|
>>
|
||||||
stream
|
stream
|
||||||
Gat%$gMYe)&:NH>:nI"R#q]&L/q%Me3(8B"D7r23,^l=3mOfGa2O'H6qt1t8<ZGg&Gn%["89)omc>YDcL[F6QG4U,LSNZn"hS_$dSKJ3rYKttdpG?:I:J9kjo>g"2G&qlR*SO8*G8n#TEoDd7]d.59E.)Ag4'ulHOik/YHe.02-3mE7AS!4R&j7>`8l_\XM4!hjARbq4'Y9C*R1PEj;k)b?7VX6MG6hD:U%b8mflO"Z!`>a$RQQh&7dJK-'lTXmSF*Md?$e<rcb!4H/bMjaEk6lBNGu9>l*K1Y<@p%*\#E?3?W*gRbk#o/i&<%UlDVmUAQ$8t1EXf7<^e8#:a]6bAd5O,R0A87pUi#_X?936X_N-_IMsL#mcet.VC6=MGVl(@AW2ZOr'GqNg/]CEm[<gCH)qX\*p"-7W]+4=hOXE_eG8^BZXK(2cXVJGOpJ:5L\XffEh:AmQUErX:<l3K"bX2=4/76/"_j>3Q$%8T'@1?BR+$3;$](2N5_Lc[r+HsW<-T*G$>6B=X$L#2h?F]HIe/_PH-D->.fZpid2DsCnI9b?TO^qA;>cZjX5[2EM>Wa7f;[10(SsStU9a@?&gTo*A9XkV$GI\?aG\&p(nn,h:5%']a/5l[>l?#d2I@a8RA2o=dTd)O27@/&;^cr,8d?(JnZH/:B90?'b'M/DKp6:?D#&^)PVZrtG/4DC7q%b1p9KmVDY0aQ*!F^ZKPY`A5@eb4A!.&?L(/i-JO[Ak7S9s5?&ig[GDXXnfP8p4b1uMs9#=u+\0e6n&7hsYJeZX>;n&4L\Yi+Q[D,=^$/eS[39-Ys[#?\RI$R/-=&?;gK-dX=((I3UFaL\N-cSXk#F^J`L[q.lj1m:2-C7/\%sXC+9WGC3/&+4bK*m/?QM,Tji?4?(mE@P0<=p'6E-Z8WNd?P,8s;?.b>roO!42=ui.Zj'_(rl1h,+f!4*4:7B,OgYI*%nMmnIm(XkN-\?=ck6Jf"mbX]EOVn!'ZFjf>bT!.5.36Qlp&2:al_@c&](/I(GJ(oXCF:3?Rl'*&<:l7p%?>9f$TL%_j-jJ!9VrseVMs-!e"he<?f,Jls86U?XDf:<+uJi1QIA^9$X%Z_+%&S6BKG+MjDbol2;<X/t(PDu-\S7`>e;YfWXQOs-9,,?Ii?<5WJ,(6.A5mshiFi'.YOc]XTY'bOVAu2*n(&$GE"iR/:d[G0C=kU89BoX<,T=',r8s+=#pGKCNXTsBt>6Vh,I;\;ae2LrSR%rSK.;kVuC=81%4)@)8IO]-C7,XYMHK/iOFb=#`U3L#2$D<dmZ+%=@b?#1A/IY,`Zo-<TfkW^b4DpGt:T8(-It?J#m-;;6QEKR%H';g<?^5Z[NnSijQ$^AmB,eTG[!*^8f3o0UkG"FVWCJ@pV[[J[OuS,XE*G8?cVPgT3bI7s-jk)>jMM3=QS@9FDV:RF[nnRq1g*[8Yl-3Nk%A4_Ofm1S^=A=$Kg*O[J9)>.gkgDTS.:km\6*IQ5BQ'=D!r?_1Z?iBR-TK=[-b!J%t6^""HOYI?%!>(c.nX[Oc$R^,"SeZ?9dY`.l<QWe3@J9N8aa@rSo#l~>
|
Gat%$gMYe)&:NH>:nO6Z%4tK-X`$oF-R_faXUPt5gBUm@m]r.sN@nAG?f0g7.h3kF]ggpf-#r&UkAk1U%hG.*&"BaAlL!Nuo-X-emmU(Vs79(eI\5i]NURuJ^MQ0IFnP--kYVPf*k!$f,ilj-l4&>R6mA7M&!cn@]3J>@<K"HchL!RD]&(Q_r9j9q4QQB5ej#ggl:IYV#M$slWk(VlZFY!'CV-\4*")q!R+.R+C?n\WZY6V-J%UQ/B?oE9iFcf%7dafXPt4M0G@X^60uD4VpS&@I-gTTuneA06Z1n-.DaT/E6kKYI8ph2M4IYJ@an2J&I$0/fGP(<Y#`d?XcC8d4('M=;]6t!8SI9`JUnRTqkbSVM;o)R$Jq1C39I<Q0aQ+i:o"A^,K5l2m(6*Xfo&CdHoMKaX*8j.G4-JfC0:E^Kpan"CJT</S:u301oh?2'8KVN#di`uMYG[PUT"K'K\e/dd%Okh,WMts[gI>2'1gVuoYtGf2krZ>$EqZQa4nIb:1b2p:fb-fHSNIH1"1(7U;90:e9lI2VmnlMIP-Yh:LdnJA$)Q%J*3GJc[V1`]3NEXd==90<'3/TIa`;:RWPeV.C'q$]GoAk0fa]/sReVHjCs"1iD;%dL@@ti+`d^ip.%Q*G#2CEqfV<g:Fk^P;$qmA3&!R]:i($f1A`!Q9@OnQ='(U]$;)Fud+^pC+@Y4k.iUMF)0Y8[tqD(,EolnE+5?3d"g#onZgML;`.(^E<XUM>7X@0d(AV60]qF@(aghI1sJ6Q$ITGK*H/*M#3hR"io:m4\&VQ.N$J+X<';Q$[u,s/*!*ik5ZHrQ!)WUW0X8(FB!e'oKDhM,oFb<!>:#7j"(EIh`-d03ZM8ZSZhNGZ",fGh?:Cta]HGZjdhXQr5gio7:SX:X`VlLC2c*]k;506CQcFHDNu]U6C:Wh[KQ`51Ot%7r=$@&qFJ*A'X02\,59UYtM[>qZd2-\R2+P.qkBVtJ5rU4+j)6mLuFs4HInHk]YX)iE[GQPo:DDQ,aYFh'j-L3hHWC4("10cM.Q]IK,AHf1<C!,>%XU+R/4lTmi'PCP#U"d?'PTWtnhD7;QD9KLGPmp6H<'GCF?6&c:MraO+aM!T/)5S`=LDc*0Gn'VB4St@4P/]apk3R)(@kak?\Z@SHBGRDRH<Qh(g*e=!IO^$AG$?rROnu@lsMTM?X*#d9)fL+Q!jF?cXbpHg'5JhXo)B>)i.oG9KqL\SHG`g"i18]b]h.eON(\SEU+>XhP`Eiku\Qi;G;7*Ao'[@,FgW[6Q`=hbf:;WE#[K;nG@s,Z%2&?RXohEpp*<taO!8-B='OYlUQ[4$.gcWK"6o]hKA[/,u$@"WZEHHZDL>7^pj/i@g"/r]t7,\3UE%:(=r[$@1\@im#!t(sQ`$p0oG*4Yi[P0Drq\=8nEe'TBL,0/`R0!o<qgQ"0/`A`=:Ij4!FMH,s0dSNuEYqXu]r(kA7]MFg?<l#oc72Z^mHYFe"*=aA;>EZ1V#ihZ^f(m1B'2uuMZ#)>N#d\[Q!bH2B!ogE5o=&=^n_[;_DcbgkV.6=`3bZ;$e5I/W:<=+V1R?#^hF-/Y41KtLr(c5l)[$P0*&i,IL0\]^g7NY,#28:\tqmC=:,^Y#BV-\[BLUh<nN`dO<q[:,XN9$N"QmPDb5LO"gSka`Tdc$qfJ47-lZg5iJ#`,UD01%W8Za2Fb%]cC)h[7B;pF-'EDe0j6J4=)ED<-4rV=Q`j?QJP2WLoX@GdP:X=eo261pf$XO6rgPX*^(;^IRNn8Mq;IPNp2"OoO)DJi-\.h_UnKbUiDC4gLbh2]GI$/8dG7r/%inh&-GTa%<2]&3@K*RuSm,PAEapn2PAbCt^`*u1a2qnb?:[":b12/H>0U'mnf9:Y6TpB1mOO.\MrrU*%g!!`/]8lPSEJ#o;=s9tmEIHJC3Ed97NQ8Zq?:(9Xbi+A'$/pfI4f/6r0ssNs=O4E@7.7].%MVguY2acn#3)=?$rl21$g$\aF!J?bq$r:b_El47iXtS0C`$P,ZkV1crF+Q;OKt7/\B:L@VGZP'*"8b.gT8:cF1tP3p#uP'+<`U<bkGW=oItN0GkgNbjnSXXD7ehQeNCLT;ghrAm`>_I)hL"2S?Q5i/6^GK'*Ys]r#aZgi"5~>
|
||||||
endstream
|
endstream
|
||||||
endobj
|
endobj
|
||||||
114 0 obj
|
112 0 obj
|
||||||
<< /Type /Page
|
<< /Type /Page
|
||||||
/Parent 1 0 R
|
/Parent 1 0 R
|
||||||
/MediaBox [ 0 0 612 792 ]
|
/MediaBox [ 0 0 612 792 ]
|
||||||
/Resources 3 0 R
|
/Resources 3 0 R
|
||||||
/Contents 113 0 R
|
/Contents 111 0 R
|
||||||
/Annots 115 0 R
|
/Annots 113 0 R
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
115 0 obj
|
113 0 obj
|
||||||
[
|
[
|
||||||
|
114 0 R
|
||||||
|
115 0 R
|
||||||
116 0 R
|
116 0 R
|
||||||
117 0 R
|
117 0 R
|
||||||
118 0 R
|
118 0 R
|
||||||
|
@ -1018,10 +996,32 @@ endobj
|
||||||
123 0 R
|
123 0 R
|
||||||
]
|
]
|
||||||
endobj
|
endobj
|
||||||
|
114 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 137.664 630.4 223.332 618.4 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=name&highlight=on&val=Canon+Power-Shot+SD500&qval=Powershot sd-500)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
|
115 0 obj
|
||||||
|
<< /Type /Annot
|
||||||
|
/Subtype /Link
|
||||||
|
/Rect [ 90.0 596.0 113.316 584.0 ]
|
||||||
|
/C [ 0 0 0 ]
|
||||||
|
/Border [ 0 0 0 ]
|
||||||
|
/A << /URI (http://localhost:8983/solr/admin/analysis.jsp?name=text&highlight=on&val=Four+score+and+seven+years+ago+our+fathers+brought+forth+on+this+continent+a+new+nation%2C+conceived+in+liberty+and+dedicated+to+the+proposition+that+all+men+are+created+equal.+&qval=liberties+and+equality)
|
||||||
|
/S /URI >>
|
||||||
|
/H /I
|
||||||
|
>>
|
||||||
|
endobj
|
||||||
116 0 obj
|
116 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 211.332 617.2 270.348 605.2 ]
|
/Rect [ 211.332 486.866 270.348 474.866 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (mailing_lists.html)
|
/A << /URI (mailing_lists.html)
|
||||||
|
@ -1032,7 +1032,7 @@ endobj
|
||||||
117 0 obj
|
117 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 440.424 567.6 525.408 555.6 ]
|
/Rect [ 446.424 437.266 531.408 425.266 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/DistributedSearch)
|
/A << /URI (http://wiki.apache.org/solr/DistributedSearch)
|
||||||
|
@ -1043,7 +1043,7 @@ endobj
|
||||||
118 0 obj
|
118 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 259.644 554.4 337.296 542.4 ]
|
/Rect [ 271.98 424.066 349.632 412.066 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/FunctionQuery)
|
/A << /URI (http://wiki.apache.org/solr/FunctionQuery)
|
||||||
|
@ -1054,7 +1054,7 @@ endobj
|
||||||
119 0 obj
|
119 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 343.296 554.4 451.956 542.4 ]
|
/Rect [ 355.632 424.066 464.292 412.066 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/StatsComponent)
|
/A << /URI (http://wiki.apache.org/solr/StatsComponent)
|
||||||
|
@ -1065,7 +1065,7 @@ endobj
|
||||||
120 0 obj
|
120 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 478.284 554.4 508.932 542.4 ]
|
/Rect [ 490.62 424.066 521.268 412.066 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/ClusteringComponent)
|
/A << /URI (http://wiki.apache.org/solr/ClusteringComponent)
|
||||||
|
@ -1076,7 +1076,7 @@ endobj
|
||||||
121 0 obj
|
121 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 90.0 541.2 171.66 529.2 ]
|
/Rect [ 90.0 410.866 171.66 398.866 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/ClusteringComponent)
|
/A << /URI (http://wiki.apache.org/solr/ClusteringComponent)
|
||||||
|
@ -1087,7 +1087,7 @@ endobj
|
||||||
122 0 obj
|
122 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 236.316 541.2 283.32 529.2 ]
|
/Rect [ 236.316 410.866 283.32 398.866 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (http://wiki.apache.org/solr/FrontPage)
|
/A << /URI (http://wiki.apache.org/solr/FrontPage)
|
||||||
|
@ -1098,7 +1098,7 @@ endobj
|
||||||
123 0 obj
|
123 0 obj
|
||||||
<< /Type /Annot
|
<< /Type /Annot
|
||||||
/Subtype /Link
|
/Subtype /Link
|
||||||
/Rect [ 490.476 541.2 528.456 529.2 ]
|
/Rect [ 472.14 410.866 510.12 398.866 ]
|
||||||
/C [ 0 0 0 ]
|
/C [ 0 0 0 ]
|
||||||
/Border [ 0 0 0 ]
|
/Border [ 0 0 0 ]
|
||||||
/A << /URI (features.html)
|
/A << /URI (features.html)
|
||||||
|
@ -1271,7 +1271,7 @@ endobj
|
||||||
1 0 obj
|
1 0 obj
|
||||||
<< /Type /Pages
|
<< /Type /Pages
|
||||||
/Count 9
|
/Count 9
|
||||||
/Kids [6 0 R 37 0 R 44 0 R 49 0 R 62 0 R 70 0 R 87 0 R 98 0 R 114 0 R ] >>
|
/Kids [6 0 R 37 0 R 44 0 R 49 0 R 62 0 R 70 0 R 87 0 R 98 0 R 112 0 R ] >>
|
||||||
endobj
|
endobj
|
||||||
2 0 obj
|
2 0 obj
|
||||||
<< /Type /Catalog
|
<< /Type /Catalog
|
||||||
|
@ -1336,7 +1336,7 @@ endobj
|
||||||
25 0 obj
|
25 0 obj
|
||||||
<<
|
<<
|
||||||
/S /GoTo
|
/S /GoTo
|
||||||
/D [70 0 R /XYZ 85.0 300.947 null]
|
/D [70 0 R /XYZ 85.0 287.747 null]
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
27 0 obj
|
27 0 obj
|
||||||
|
@ -1360,13 +1360,13 @@ endobj
|
||||||
33 0 obj
|
33 0 obj
|
||||||
<<
|
<<
|
||||||
/S /GoTo
|
/S /GoTo
|
||||||
/D [98 0 R /XYZ 85.0 436.2 null]
|
/D [98 0 R /XYZ 85.0 296.2 null]
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
35 0 obj
|
35 0 obj
|
||||||
<<
|
<<
|
||||||
/S /GoTo
|
/S /GoTo
|
||||||
/D [98 0 R /XYZ 85.0 181.347 null]
|
/D [112 0 R /XYZ 85.0 573.0 null]
|
||||||
>>
|
>>
|
||||||
endobj
|
endobj
|
||||||
124 0 obj
|
124 0 obj
|
||||||
|
@ -1377,151 +1377,151 @@ endobj
|
||||||
xref
|
xref
|
||||||
0 146
|
0 146
|
||||||
0000000000 65535 f
|
0000000000 65535 f
|
||||||
0000042796 00000 n
|
0000044007 00000 n
|
||||||
0000042911 00000 n
|
0000044122 00000 n
|
||||||
0000043004 00000 n
|
0000044215 00000 n
|
||||||
0000000015 00000 n
|
0000000015 00000 n
|
||||||
0000000071 00000 n
|
0000000071 00000 n
|
||||||
0000000980 00000 n
|
0000000982 00000 n
|
||||||
0000001100 00000 n
|
0000001102 00000 n
|
||||||
0000001216 00000 n
|
0000001218 00000 n
|
||||||
0000043157 00000 n
|
0000044368 00000 n
|
||||||
0000001351 00000 n
|
0000001353 00000 n
|
||||||
0000043220 00000 n
|
0000044431 00000 n
|
||||||
0000001487 00000 n
|
0000001489 00000 n
|
||||||
0000043286 00000 n
|
0000044497 00000 n
|
||||||
0000001624 00000 n
|
0000001626 00000 n
|
||||||
0000043352 00000 n
|
0000044563 00000 n
|
||||||
0000001761 00000 n
|
0000001763 00000 n
|
||||||
0000043416 00000 n
|
0000044627 00000 n
|
||||||
0000001897 00000 n
|
0000001899 00000 n
|
||||||
0000043481 00000 n
|
0000044692 00000 n
|
||||||
0000002034 00000 n
|
0000002036 00000 n
|
||||||
0000043545 00000 n
|
0000044756 00000 n
|
||||||
0000002170 00000 n
|
0000002172 00000 n
|
||||||
0000043611 00000 n
|
0000044822 00000 n
|
||||||
0000002306 00000 n
|
0000002308 00000 n
|
||||||
0000043675 00000 n
|
0000044886 00000 n
|
||||||
0000002443 00000 n
|
0000002445 00000 n
|
||||||
0000043741 00000 n
|
0000044952 00000 n
|
||||||
0000002580 00000 n
|
0000002582 00000 n
|
||||||
0000043805 00000 n
|
0000045016 00000 n
|
||||||
0000002717 00000 n
|
0000002719 00000 n
|
||||||
0000043871 00000 n
|
0000045082 00000 n
|
||||||
0000002854 00000 n
|
0000002856 00000 n
|
||||||
0000043937 00000 n
|
0000045148 00000 n
|
||||||
0000002991 00000 n
|
0000002993 00000 n
|
||||||
0000044001 00000 n
|
0000045212 00000 n
|
||||||
0000003128 00000 n
|
0000003130 00000 n
|
||||||
0000005628 00000 n
|
0000005630 00000 n
|
||||||
0000005751 00000 n
|
0000005753 00000 n
|
||||||
0000005799 00000 n
|
0000005801 00000 n
|
||||||
0000006019 00000 n
|
0000006021 00000 n
|
||||||
0000006197 00000 n
|
0000006199 00000 n
|
||||||
0000006394 00000 n
|
0000006396 00000 n
|
||||||
0000006596 00000 n
|
0000006598 00000 n
|
||||||
0000009011 00000 n
|
0000009013 00000 n
|
||||||
0000009134 00000 n
|
0000009136 00000 n
|
||||||
0000009168 00000 n
|
0000009170 00000 n
|
||||||
0000009351 00000 n
|
0000009353 00000 n
|
||||||
0000009568 00000 n
|
0000009570 00000 n
|
||||||
0000012873 00000 n
|
0000012956 00000 n
|
||||||
0000012996 00000 n
|
0000013079 00000 n
|
||||||
0000013086 00000 n
|
0000013169 00000 n
|
||||||
0000013281 00000 n
|
0000013364 00000 n
|
||||||
0000013473 00000 n
|
0000013556 00000 n
|
||||||
0000013670 00000 n
|
0000013753 00000 n
|
||||||
0000013887 00000 n
|
0000013970 00000 n
|
||||||
0000014083 00000 n
|
0000014166 00000 n
|
||||||
0000014270 00000 n
|
0000014353 00000 n
|
||||||
0000014458 00000 n
|
0000014541 00000 n
|
||||||
0000014662 00000 n
|
0000014745 00000 n
|
||||||
0000014846 00000 n
|
0000014929 00000 n
|
||||||
0000015039 00000 n
|
0000015122 00000 n
|
||||||
0000017830 00000 n
|
0000018033 00000 n
|
||||||
0000017953 00000 n
|
0000018156 00000 n
|
||||||
0000018008 00000 n
|
0000018211 00000 n
|
||||||
0000018201 00000 n
|
0000018404 00000 n
|
||||||
0000018401 00000 n
|
0000018604 00000 n
|
||||||
0000018607 00000 n
|
0000018810 00000 n
|
||||||
0000018805 00000 n
|
0000019008 00000 n
|
||||||
0000019009 00000 n
|
0000019210 00000 n
|
||||||
0000021774 00000 n
|
0000022068 00000 n
|
||||||
0000021897 00000 n
|
0000022191 00000 n
|
||||||
0000022015 00000 n
|
0000022309 00000 n
|
||||||
0000022226 00000 n
|
0000022520 00000 n
|
||||||
0000022443 00000 n
|
0000022737 00000 n
|
||||||
0000022654 00000 n
|
0000022948 00000 n
|
||||||
0000022885 00000 n
|
0000023179 00000 n
|
||||||
0000023092 00000 n
|
0000023386 00000 n
|
||||||
0000023282 00000 n
|
0000023576 00000 n
|
||||||
0000023502 00000 n
|
0000023796 00000 n
|
||||||
0000023721 00000 n
|
0000024015 00000 n
|
||||||
0000023953 00000 n
|
0000024247 00000 n
|
||||||
0000024172 00000 n
|
0000024466 00000 n
|
||||||
0000024404 00000 n
|
0000024698 00000 n
|
||||||
0000024645 00000 n
|
0000024939 00000 n
|
||||||
0000024900 00000 n
|
0000025194 00000 n
|
||||||
0000025104 00000 n
|
0000025398 00000 n
|
||||||
0000027563 00000 n
|
0000027857 00000 n
|
||||||
0000027686 00000 n
|
0000027980 00000 n
|
||||||
0000027762 00000 n
|
0000028056 00000 n
|
||||||
0000028006 00000 n
|
0000028300 00000 n
|
||||||
0000028270 00000 n
|
0000028564 00000 n
|
||||||
0000028557 00000 n
|
0000028851 00000 n
|
||||||
0000028931 00000 n
|
0000029225 00000 n
|
||||||
0000029131 00000 n
|
0000029425 00000 n
|
||||||
0000029334 00000 n
|
0000029628 00000 n
|
||||||
0000029534 00000 n
|
0000029828 00000 n
|
||||||
0000029719 00000 n
|
0000030013 00000 n
|
||||||
0000032745 00000 n
|
0000033373 00000 n
|
||||||
0000032868 00000 n
|
0000033496 00000 n
|
||||||
0000032992 00000 n
|
0000033604 00000 n
|
||||||
0000033208 00000 n
|
0000033791 00000 n
|
||||||
0000033419 00000 n
|
0000033975 00000 n
|
||||||
0000033653 00000 n
|
0000034191 00000 n
|
||||||
0000033871 00000 n
|
0000034402 00000 n
|
||||||
0000034083 00000 n
|
0000034636 00000 n
|
||||||
0000034270 00000 n
|
0000034854 00000 n
|
||||||
0000034454 00000 n
|
0000035066 00000 n
|
||||||
0000034664 00000 n
|
0000035276 00000 n
|
||||||
0000034864 00000 n
|
0000035476 00000 n
|
||||||
0000035098 00000 n
|
0000035710 00000 n
|
||||||
0000035346 00000 n
|
0000035958 00000 n
|
||||||
0000035618 00000 n
|
0000038183 00000 n
|
||||||
0000036048 00000 n
|
0000038309 00000 n
|
||||||
0000037710 00000 n
|
0000038410 00000 n
|
||||||
0000037836 00000 n
|
0000038678 00000 n
|
||||||
0000037921 00000 n
|
0000039104 00000 n
|
||||||
0000038090 00000 n
|
0000039277 00000 n
|
||||||
0000038286 00000 n
|
0000039477 00000 n
|
||||||
0000038478 00000 n
|
0000039672 00000 n
|
||||||
0000038671 00000 n
|
0000039869 00000 n
|
||||||
0000038869 00000 n
|
0000040070 00000 n
|
||||||
0000039063 00000 n
|
0000040268 00000 n
|
||||||
0000039250 00000 n
|
0000040459 00000 n
|
||||||
0000044067 00000 n
|
0000045277 00000 n
|
||||||
0000039414 00000 n
|
0000040625 00000 n
|
||||||
0000039556 00000 n
|
0000040767 00000 n
|
||||||
0000039738 00000 n
|
0000040949 00000 n
|
||||||
0000039937 00000 n
|
0000041148 00000 n
|
||||||
0000040124 00000 n
|
0000041335 00000 n
|
||||||
0000040353 00000 n
|
0000041564 00000 n
|
||||||
0000040520 00000 n
|
0000041731 00000 n
|
||||||
0000040749 00000 n
|
0000041960 00000 n
|
||||||
0000040881 00000 n
|
0000042092 00000 n
|
||||||
0000041063 00000 n
|
0000042274 00000 n
|
||||||
0000041256 00000 n
|
0000042467 00000 n
|
||||||
0000041419 00000 n
|
0000042630 00000 n
|
||||||
0000041653 00000 n
|
0000042864 00000 n
|
||||||
0000041855 00000 n
|
0000043066 00000 n
|
||||||
0000042015 00000 n
|
0000043226 00000 n
|
||||||
0000042129 00000 n
|
0000043340 00000 n
|
||||||
0000042240 00000 n
|
0000043451 00000 n
|
||||||
0000042349 00000 n
|
0000043560 00000 n
|
||||||
0000042462 00000 n
|
0000043673 00000 n
|
||||||
0000042569 00000 n
|
0000043780 00000 n
|
||||||
0000042686 00000 n
|
0000043897 00000 n
|
||||||
trailer
|
trailer
|
||||||
<<
|
<<
|
||||||
/Size 146
|
/Size 146
|
||||||
|
@ -1529,5 +1529,5 @@ trailer
|
||||||
/Info 4 0 R
|
/Info 4 0 R
|
||||||
>>
|
>>
|
||||||
startxref
|
startxref
|
||||||
44121
|
45331
|
||||||
%%EOF
|
%%EOF
|
||||||
|
|
|
@ -46,12 +46,17 @@ import java.io.StringReader;
|
||||||
* @version $Id$
|
* @version $Id$
|
||||||
*/
|
*/
|
||||||
public class TextField extends FieldType {
|
public class TextField extends FieldType {
|
||||||
protected boolean autoGeneratePhraseQueries = true;
|
protected boolean autoGeneratePhraseQueries;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void init(IndexSchema schema, Map<String,String> args) {
|
protected void init(IndexSchema schema, Map<String,String> args) {
|
||||||
properties |= TOKENIZED;
|
properties |= TOKENIZED;
|
||||||
if (schema.getVersion()> 1.1f) properties &= ~OMIT_TF_POSITIONS;
|
if (schema.getVersion()> 1.1f) properties &= ~OMIT_TF_POSITIONS;
|
||||||
|
if (schema.getVersion() > 1.3f) {
|
||||||
|
autoGeneratePhraseQueries = false;
|
||||||
|
} else {
|
||||||
|
autoGeneratePhraseQueries = true;
|
||||||
|
}
|
||||||
String autoGeneratePhraseQueriesStr = args.remove("autoGeneratePhraseQueries");
|
String autoGeneratePhraseQueriesStr = args.remove("autoGeneratePhraseQueries");
|
||||||
if (autoGeneratePhraseQueriesStr != null)
|
if (autoGeneratePhraseQueriesStr != null)
|
||||||
autoGeneratePhraseQueries = Boolean.parseBoolean(autoGeneratePhraseQueriesStr);
|
autoGeneratePhraseQueries = Boolean.parseBoolean(autoGeneratePhraseQueriesStr);
|
||||||
|
|
|
@ -210,9 +210,9 @@ SimplePostTool: COMMITting Solr index changes..
|
||||||
<p>
|
<p>
|
||||||
You may have noticed that even though the file <code>solr.xml</code> has now
|
You may have noticed that even though the file <code>solr.xml</code> has now
|
||||||
been POSTed to the server twice, you still only get 1 result when searching for
|
been POSTed to the server twice, you still only get 1 result when searching for
|
||||||
"solr". This is because the example schema.xml specifies a "uniqueKey" field
|
"solr". This is because the example <code>schema.xml</code> specifies a "<code>uniqueKey</code>" field
|
||||||
called "<code>id</code>". Whenever you POST instructions to Solr to add a
|
called "<code>id</code>". Whenever you POST instructions to Solr to add a
|
||||||
document with the same value for the uniqueKey as an existing document, it
|
document with the same value for the <code>uniqueKey</code> as an existing document, it
|
||||||
automatically replaces it for you. You can see that that has happened by
|
automatically replaces it for you. You can see that that has happened by
|
||||||
looking at the values for <code>numDocs</code> and <code>maxDoc</code> in the
|
looking at the values for <code>numDocs</code> and <code>maxDoc</code> in the
|
||||||
"CORE"/searcher section of the statistics page... </p>
|
"CORE"/searcher section of the statistics page... </p>
|
||||||
|
@ -221,12 +221,12 @@ looking at the values for <code>numDocs</code> and <code>maxDoc</code> in the
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<strong>numDocs</strong> represents the number of searchable documents in the
|
<strong><code>numDocs</code></strong> represents the number of searchable documents in the
|
||||||
index (and will be larger than the number of XML files since some files
|
index (and will be larger than the number of XML files since some files
|
||||||
contained more than one <code><doc></code>). <strong>maxDoc</strong>
|
contained more than one <code><doc></code>). <strong><code>maxDoc</code></strong>
|
||||||
may be larger as the maxDoc count includes logically deleted documents that
|
may be larger as the <code>maxDoc</code> count includes logically deleted documents that
|
||||||
have not yet been removed from the index. You can re-post the sample XML
|
have not yet been removed from the index. You can re-post the sample XML
|
||||||
files over and over again as much as you want and numDocs will never
|
files over and over again as much as you want and <code>numDocs</code> will never
|
||||||
increase, because the new documents will constantly be replacing the old.
|
increase, because the new documents will constantly be replacing the old.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
@ -246,7 +246,7 @@ in subsequent searches.
|
||||||
<p>Now if you go to the <a href="http://localhost:8983/solr/admin/stats.jsp">statistics</a> page and scroll down
|
<p>Now if you go to the <a href="http://localhost:8983/solr/admin/stats.jsp">statistics</a> page and scroll down
|
||||||
to the UPDATE_HANDLERS section and verify that "<code>deletesById : 1</code>"</p>
|
to the UPDATE_HANDLERS section and verify that "<code>deletesById : 1</code>"</p>
|
||||||
<p>If you search for <a href="http://localhost:8983/solr/select?q=id:SP2514N">id:SP2514N</a> it will still be found,
|
<p>If you search for <a href="http://localhost:8983/solr/select?q=id:SP2514N">id:SP2514N</a> it will still be found,
|
||||||
because index changes are not visible until, and a new searcher is opened. To cause
|
because index changes are not visible until changes are committed and a new searcher is opened. To cause
|
||||||
this to happen, send a commit command to Solr (post.jar does this for you by default):</p>
|
this to happen, send a commit command to Solr (post.jar does this for you by default):</p>
|
||||||
<source>java -jar post.jar</source>
|
<source>java -jar post.jar</source>
|
||||||
<p>Now re-execute the previous search and verify that no matching documents are found. Also revisit the
|
<p>Now re-execute the previous search and verify that no matching documents are found. Also revisit the
|
||||||
|
@ -256,7 +256,7 @@ in subsequent searches.
|
||||||
<source>java -Ddata=args -jar post.jar "<delete><query>name:DDR</query></delete>"</source>
|
<source>java -Ddata=args -jar post.jar "<delete><query>name:DDR</query></delete>"</source>
|
||||||
|
|
||||||
<p>Commit can be an expensive operation so it's best to make many changes to an index in a batch and
|
<p>Commit can be an expensive operation so it's best to make many changes to an index in a batch and
|
||||||
then send the commit command at the end. There is also an optimize command that does the same thing as commit,
|
then send the <code>commit</code> command at the end. There is also an <code>optimize</code> command that does the same thing as <code>commit</code>,
|
||||||
in addition to merging all index segments into a single segment, making it faster to search and causing any
|
in addition to merging all index segments into a single segment, making it faster to search and causing any
|
||||||
deleted documents to be removed. All of the update commands are documented <a href="http://wiki.apache.org/solr/UpdateXmlMessages">here</a>.
|
deleted documents to be removed. All of the update commands are documented <a href="http://wiki.apache.org/solr/UpdateXmlMessages">here</a>.
|
||||||
</p>
|
</p>
|
||||||
|
@ -272,10 +272,10 @@ in subsequent searches.
|
||||||
<title>Querying Data</title>
|
<title>Querying Data</title>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Searches are done via HTTP GET on the select URL with the query string in the q parameter.
|
Searches are done via HTTP GET on the <code>select</code> URL with the query string in the <code>q</code> parameter.
|
||||||
You can pass a number of optional <a href="http://wiki.apache.org/solr/StandardRequestHandler">request parameters</a>
|
You can pass a number of optional <a href="http://wiki.apache.org/solr/StandardRequestHandler">request parameters</a>
|
||||||
to the request handler to control what information is returned. For example, you can use the "fl" parameter
|
to the request handler to control what information is returned. For example, you can use the "<code>fl</code>" parameter
|
||||||
to control what stored fields are returned, and if the relevancy score is returned...
|
to control what stored fields are returned, and if the relevancy score is returned:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -288,7 +288,7 @@ in subsequent searches.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Solr provides a <a href="http://localhost:8983/solr/admin/form.jsp">query form</a> within the web admin interface
|
Solr provides a <a href="http://localhost:8983/solr/admin/form.jsp">query form</a> within the web admin interface
|
||||||
that allows setting the various request parameters and is useful when trying out or debugging queries.
|
that allows setting the various request parameters and is useful when testing or debugging queries.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
|
@ -296,7 +296,7 @@ in subsequent searches.
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Solr provides a simple method to sort on one or more indexed fields.
|
Solr provides a simple method to sort on one or more indexed fields.
|
||||||
Use the 'sort' parameter to specify "field direction" pairs...
|
Use the "<code>sort</code>' parameter to specify "field direction" pairs, separated by commas if there's more than one sort field:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
@ -306,7 +306,7 @@ in subsequent searches.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
"score" can also be used as a field name when specifying a sort...
|
"<code>score</code>" can also be used as a field name when specifying a sort:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://localhost:8983/solr/select/?indent=on&q=video&sort=score+desc">q=video&sort=score desc</a></li>
|
<li><a href="http://localhost:8983/solr/select/?indent=on&q=video&sort=score+desc">q=video&sort=score desc</a></li>
|
||||||
|
@ -314,7 +314,7 @@ in subsequent searches.
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Complex functions may also be used to sort results...
|
Complex functions may also be used to sort results:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://localhost:8983/solr/select/?indent=on&q=*:*&sort=div(popularity,add(price,1))+desc">q=video&sort=div(popularity,add(price,1)) desc</a></li>
|
<li><a href="http://localhost:8983/solr/select/?indent=on&q=*:*&sort=div(popularity,add(price,1))+desc">q=video&sort=div(popularity,add(price,1)) desc</a></li>
|
||||||
|
@ -334,7 +334,7 @@ in subsequent searches.
|
||||||
<title>Highlighting</title>
|
<title>Highlighting</title>
|
||||||
<p>
|
<p>
|
||||||
Hit highlighting returns relevent snippets of each returned document, and highlights
|
Hit highlighting returns relevent snippets of each returned document, and highlights
|
||||||
keywords from the query within those context snippets.
|
terms from the query within those context snippets.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
The following example searches for <code>video card</code> and requests
|
The following example searches for <code>video card</code> and requests
|
||||||
|
@ -429,41 +429,51 @@ in subsequent searches.
|
||||||
<title>Text Analysis</title>
|
<title>Text Analysis</title>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Text fields are typically indexed by breaking the field into words and applying various transformations such as
|
Text fields are typically indexed by breaking the text into words and applying various transformations such as
|
||||||
lowercasing, removing plurals, or stemming to increase relevancy. The same text transformations are normally
|
lowercasing, removing plurals, or stemming to increase relevancy. The same text transformations are normally
|
||||||
applied to any queries in order to match what is indexed.
|
applied to any queries in order to match what is indexed.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>Example queries demonstrating relevancy improving transformations:</p>
|
|
||||||
<ul>
|
|
||||||
<li>A search for
|
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=power-shot&fl=name">power-shot</a>
|
|
||||||
matches <code>PowerShot</code>, and
|
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=adata&fl=name">adata</a>
|
|
||||||
matches <code>A-DATA</code> due to the use of WordDelimiterFilter and LowerCaseFilter.
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>A search for
|
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=features:recharging&fl=name,features">features:recharging</a>
|
|
||||||
matches <code>Rechargeable</code> due to stemming with the EnglishPorterFilter.
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li>A search for
|
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q="1 gigabyte"&fl=name">"1 gigabyte"</a>
|
|
||||||
matches things with <code>GB</code>, and the misspelled
|
|
||||||
<a href="http://localhost:8983/solr/select/?indent=on&q=pixima&fl=name">pixima</a>
|
|
||||||
matches <code>Pixma</code> due to use of a SynonymFilter.
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
The <a href="http://wiki.apache.org/solr/SchemaXml">schema</a> defines
|
The <a href="http://wiki.apache.org/solr/SchemaXml">schema</a> defines
|
||||||
the fields in the index and what type of analysis is applied to them. The current schema your server is using
|
the fields in the index and what type of analysis is applied to them. The current schema your server is using
|
||||||
may be accessed via the <code>[SCHEMA]</code> link on the <a href="http://localhost:8983/solr/admin/">admin</a> page.
|
may be accessed via the <code>[SCHEMA]</code> link on the <a href="http://localhost:8983/solr/admin/">admin</a> page.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The best analysis components (tokenization and filtering) for your textual content depends heavily on language.
|
||||||
|
As you can see in the above <code>[SCHEMA]</code> link, the fields in the example schema are using a <code>fieldType</code>
|
||||||
|
named <code>text_general</code>, which has defaults appropriate for all languages.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
If you know your textual content is English, as is the case for the example documents in this tutorial,
|
||||||
|
and you'd like to apply English-specific stemming and stop word removal, as well as split compound words, you can use the <code>text_en_splitting</code> fieldType instead.
|
||||||
|
Go ahead and edit the <code>schema.xml</code> under the <code>solr/example/solr/conf</code> directory,
|
||||||
|
and change the <code>type</code> for fields <code>text</code> and <code>features</code> from <code>text_general</code> to <code>text_en_splitting</code>.
|
||||||
|
Restart the server and then re-post all of the documents, and then these queries will show the English-specific transformations:
|
||||||
|
</p>
|
||||||
|
<ul>
|
||||||
|
<li>A search for
|
||||||
|
<a href="http://localhost:8983/solr/select/?indent=on&q=power-shot&fl=name">power-shot</a>
|
||||||
|
matches <code>PowerShot</code>, and
|
||||||
|
<a href="http://localhost:8983/solr/select/?indent=on&q=adata&fl=name">adata</a>
|
||||||
|
matches <code>A-DATA</code> due to the use of <code>WordDelimiterFilter</code> and <code>LowerCaseFilter</code>.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>A search for
|
||||||
|
<a href="http://localhost:8983/solr/select/?indent=on&q=features:recharging&fl=name,features">features:recharging</a>
|
||||||
|
matches <code>Rechargeable</code> due to stemming with the <code>EnglishPorterFilter</code>.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li>A search for
|
||||||
|
<a href="http://localhost:8983/solr/select/?indent=on&q="1 gigabyte"&fl=name">"1 gigabyte"</a>
|
||||||
|
matches things with <code>GB</code>, and the misspelled
|
||||||
|
<a href="http://localhost:8983/solr/select/?indent=on&q=pixima&fl=name">pixima</a>
|
||||||
|
matches <code>Pixma</code> due to use of a <code>SynonymFilter</code>.
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
<p>A full description of the analysis components, Analyzers, Tokenizers, and TokenFilters
|
<p>A full description of the analysis components, Analyzers, Tokenizers, and TokenFilters
|
||||||
available for use is <a href="http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters">here</a>.
|
available for use is <a href="http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters">here</a>.
|
||||||
|
@ -479,7 +489,7 @@ in subsequent searches.
|
||||||
<p>
|
<p>
|
||||||
<a href="http://localhost:8983/solr/admin/analysis.jsp?name=name&val=Canon+Power-Shot+SD500">This</a>
|
<a href="http://localhost:8983/solr/admin/analysis.jsp?name=name&val=Canon+Power-Shot+SD500">This</a>
|
||||||
shows how "<code>Canon Power-Shot SD500</code>" would be indexed as a value in the name field. Each row of
|
shows how "<code>Canon Power-Shot SD500</code>" would be indexed as a value in the name field. Each row of
|
||||||
the table shows the resulting tokens after having passed through the next TokenFilter in the Analyzer for the <code>name</code> field.
|
the table shows the resulting tokens after having passed through the next <code>TokenFilter</code> in the analyzer for the <code>name</code> field.
|
||||||
Notice how both <code>powershot</code> and <code>power</code>, <code>shot</code> are indexed. Tokens generated at the same position
|
Notice how both <code>powershot</code> and <code>power</code>, <code>shot</code> are indexed. Tokens generated at the same position
|
||||||
are shown in the same column, in this case <code>shot</code> and <code>powershot</code>.
|
are shown in the same column, in this case <code>shot</code> and <code>powershot</code>.
|
||||||
</p>
|
</p>
|
||||||
|
@ -501,27 +511,26 @@ in subsequent searches.
|
||||||
<title>Conclusion</title>
|
<title>Conclusion</title>
|
||||||
<p>
|
<p>
|
||||||
Congratulations! You successfully ran a small Solr instance, added some
|
Congratulations! You successfully ran a small Solr instance, added some
|
||||||
documents, and made changes to the index. You learned about queries, text
|
documents, and made changes to the index and schema. You learned about queries, text
|
||||||
analysis, and the Solr admin interface. You're ready to start using Solr on
|
analysis, and the Solr admin interface. You're ready to start using Solr on
|
||||||
your own project! Continue on with the following steps:
|
your own project! Continue on with the following steps:
|
||||||
</p>
|
</p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Subscribe to the Solr <a href="mailing_lists.html">mailing lists</a>!</li>
|
<li>Subscribe to the Solr <a href="mailing_lists.html">mailing lists</a>!</li>
|
||||||
<li>Make a copy of the Solr example directory as a template for your project.</li>
|
<li>Make a copy of the Solr <code>example</code> directory as a template for your project.</li>
|
||||||
<li>Customize the schema and other config in solr/conf/ to meet your needs.</li>
|
<li>Customize the schema and other config in <code>solr/conf/</code> to meet your needs.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Solr as a ton of other features that we haven't touched on here, including
|
Solr has a ton of other features that we haven't touched on here, including
|
||||||
<a href="http://wiki.apache.org/solr/DistributedSearch">distributed search</a>
|
<a href="http://wiki.apache.org/solr/DistributedSearch">distributed search</a>
|
||||||
to handle huge document collections,
|
to handle huge document collections,
|
||||||
<a href="http://wiki.apache.org/solr/FunctionQuery">function queries</a>,
|
<a href="http://wiki.apache.org/solr/FunctionQuery">function queries</a>,
|
||||||
<a href="http://wiki.apache.org/solr/StatsComponent">numeric field statistics</a>,
|
<a href="http://wiki.apache.org/solr/StatsComponent">numeric field statistics</a>,
|
||||||
and
|
and
|
||||||
<a href="http://wiki.apache.org/solr/ClusteringComponent">search results clustering</a>.
|
<a href="http://wiki.apache.org/solr/ClusteringComponent">search results clustering</a>.
|
||||||
Explore the <a href="http://wiki.apache.org/solr/FrontPage">Solr Wiki</a> to find out
|
Explore the <a href="http://wiki.apache.org/solr/FrontPage">Solr Wiki</a> to find
|
||||||
more details about Solr's many
|
more details about Solr's many <a href="features.html">features</a>.
|
||||||
<a href="features.html">features</a>.
|
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
$Name: $
|
$Name: $
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<schema name="test" version="1.2">
|
<schema name="test" version="1.4">
|
||||||
<types>
|
<types>
|
||||||
|
|
||||||
<!-- field type definitions... note that the "name" attribute is
|
<!-- field type definitions... note that the "name" attribute is
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
|
|
||||||
|
|
||||||
<!-- HighlitText optimizes storage for (long) columns which will be highlit -->
|
<!-- HighlitText optimizes storage for (long) columns which will be highlit -->
|
||||||
<fieldtype name="highlittext" class="solr.TextField" compressThreshold="345" />
|
<fieldtype name="highlittext" class="solr.TextField"/>
|
||||||
|
|
||||||
<fieldtype name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
<fieldtype name="boolean" class="solr.BoolField" sortMissingLast="true"/>
|
||||||
<fieldtype name="string" class="solr.StrField" sortMissingLast="true"/>
|
<fieldtype name="string" class="solr.StrField" sortMissingLast="true"/>
|
||||||
|
@ -116,7 +116,7 @@
|
||||||
<fieldtype name="tdate" class="solr.TrieDateField" sortMissingLast="true" precisionStep="6"/>
|
<fieldtype name="tdate" class="solr.TrieDateField" sortMissingLast="true" precisionStep="6"/>
|
||||||
<fieldtype name="pdate" class="solr.DateField" sortMissingLast="true"/>
|
<fieldtype name="pdate" class="solr.DateField" sortMissingLast="true"/>
|
||||||
|
|
||||||
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
|
<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true" >
|
||||||
<analyzer type="index">
|
<analyzer type="index">
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||||
<filter class="solr.StopFilterFactory"
|
<filter class="solr.StopFilterFactory"
|
||||||
|
@ -146,7 +146,7 @@
|
||||||
|
|
||||||
|
|
||||||
<!-- field type that doesn't generate phrases from unquoted multiple tokens per analysis unit -->
|
<!-- field type that doesn't generate phrases from unquoted multiple tokens per analysis unit -->
|
||||||
<fieldType name="text_np" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false" >
|
<fieldType name="text_np" class="solr.TextField" positionIncrementGap="100">
|
||||||
<analyzer type="index">
|
<analyzer type="index">
|
||||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||||
<filter class="solr.StopFilterFactory"
|
<filter class="solr.StopFilterFactory"
|
||||||
|
|
|
@ -889,13 +889,10 @@ public class ConvertedLegacyTest extends SolrTestCaseJ4 {
|
||||||
assertQ(req("id:42 AND subword:\"bar foo\"")
|
assertQ(req("id:42 AND subword:\"bar foo\"")
|
||||||
,"*[count(//doc)=0]"
|
,"*[count(//doc)=0]"
|
||||||
);
|
);
|
||||||
assertQ(req("id:42 AND subword:bar-foo")
|
|
||||||
,"*[count(//doc)=0]"
|
|
||||||
);
|
|
||||||
assertQ(req("id:42 AND subword:\"bar foo\"~2")
|
assertQ(req("id:42 AND subword:\"bar foo\"~2")
|
||||||
,"*[count(//doc)=1]"
|
,"*[count(//doc)=1]"
|
||||||
);
|
);
|
||||||
assertQ(req("id:42 AND subword:foo/bar")
|
assertQ(req("id:42 AND subword:\"foo/bar\"")
|
||||||
,"*[count(//doc)=1]"
|
,"*[count(//doc)=1]"
|
||||||
);
|
);
|
||||||
assertQ(req("id:42 AND subword:foobar")
|
assertQ(req("id:42 AND subword:foobar")
|
||||||
|
@ -916,13 +913,10 @@ public class ConvertedLegacyTest extends SolrTestCaseJ4 {
|
||||||
assertQ(req("id:42 AND subword:\"bar foo\"")
|
assertQ(req("id:42 AND subword:\"bar foo\"")
|
||||||
,"*[count(//doc)=0]"
|
,"*[count(//doc)=0]"
|
||||||
);
|
);
|
||||||
assertQ(req("id:42 AND subword:bar-foo")
|
|
||||||
,"*[count(//doc)=0]"
|
|
||||||
);
|
|
||||||
assertQ(req("id:42 AND subword:\"bar foo\"~2")
|
assertQ(req("id:42 AND subword:\"bar foo\"~2")
|
||||||
,"*[count(//doc)=1]"
|
,"*[count(//doc)=1]"
|
||||||
);
|
);
|
||||||
assertQ(req("id:42 AND subword:foo/bar")
|
assertQ(req("id:42 AND subword:\"foo/bar\"")
|
||||||
,"*[count(//doc)=1]"
|
,"*[count(//doc)=1]"
|
||||||
);
|
);
|
||||||
assertQ(req("id:42 AND subword:foobar")
|
assertQ(req("id:42 AND subword:foobar")
|
||||||
|
|
|
@ -20,7 +20,6 @@ package org.apache.solr.client.solrj;
|
||||||
|
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.StringWriter;
|
import java.io.StringWriter;
|
||||||
import java.io.File;
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -912,11 +911,33 @@ abstract public class SolrExampleTests extends SolrJettyTestBase
|
||||||
|
|
||||||
// Make sure the transformer works for streaming
|
// Make sure the transformer works for streaming
|
||||||
Float score = (Float)doc.get( "score" );
|
Float score = (Float)doc.get( "score" );
|
||||||
Integer docid = (Integer)doc.get( "_docid_" );
|
|
||||||
assertEquals( "should have score", new Float(1.0), score );
|
assertEquals( "should have score", new Float(1.0), score );
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
assertEquals(10, cnt.get() );
|
assertEquals(10, cnt.get() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void testChineseDefaults() throws Exception {
|
||||||
|
// Empty the database...
|
||||||
|
server.deleteByQuery( "*:*" );// delete everything!
|
||||||
|
server.commit();
|
||||||
|
assertNumFound( "*:*", 0 ); // make sure it got in
|
||||||
|
|
||||||
|
// Beijing medical University
|
||||||
|
UpdateRequest req = new UpdateRequest();
|
||||||
|
SolrInputDocument doc = new SolrInputDocument();
|
||||||
|
doc.addField("id", "42");
|
||||||
|
doc.addField("text", "北京医科大学");
|
||||||
|
req.add(doc);
|
||||||
|
|
||||||
|
req.setAction(ACTION.COMMIT, true, true );
|
||||||
|
req.process( server );
|
||||||
|
|
||||||
|
// Beijing university should match:
|
||||||
|
SolrQuery query = new SolrQuery("北京大学");
|
||||||
|
QueryResponse rsp = server.query( query );
|
||||||
|
assertEquals(1, rsp.getResults().getNumFound());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue