mirror of https://github.com/apache/lucene.git
SOLR-6913: In data_driven_schema_configs configset, rename schema.xml to managed-schema, remove example-only fieldtypes, add dynamic fields for each fieldtype where they don't exist, and add a warning about the catch-all _text field
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1650701 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
9acea483e3
commit
916f1876ec
|
@ -45,7 +45,7 @@
|
|||
that avoids logging every request
|
||||
-->
|
||||
|
||||
<schema name="example-schemaless" version="1.5">
|
||||
<schema name="example-data-driven-schema" version="1.5">
|
||||
<!-- attribute "name" is the name of this schema and is only used for display purposes.
|
||||
version="x.y" is Solr's version number for the schema syntax and
|
||||
semantics. It should not normally be changed by applications.
|
||||
|
@ -105,13 +105,21 @@
|
|||
trailing underscores (e.g. _version_) are reserved.
|
||||
-->
|
||||
|
||||
<!-- In this "schemaless" example, only two fields are pre-declared: id and _version_.
|
||||
All other fields will be type guessed and added via the
|
||||
<!-- In this data_driven_schema_configs configset, only three fields are pre-declared:
|
||||
id, _version_, and _text. All other fields will be type guessed and added via the
|
||||
"add-unknown-fields-to-the-schema" update request processor chain declared
|
||||
in solrconfig.xml.
|
||||
|
||||
Note that many dynamic fields are also defined - you can used them to specify a
|
||||
field's type via field naming conventions - see below.
|
||||
|
||||
WARNING: The _text catch-all field will significantly increase your index size.
|
||||
If you don't need it, consider removing it and the corresponding copyField directive.
|
||||
-->
|
||||
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
|
||||
<field name="_version_" type="long" indexed="true" stored="true"/>
|
||||
<field name="_text" type="text_general" indexed="true" stored="false" multiValued="true"/>
|
||||
<copyField source="*" dest="_text"/>
|
||||
|
||||
|
||||
<!-- Dynamic field definitions allow using convention over configuration
|
||||
|
@ -121,20 +129,18 @@
|
|||
a "*" only at the start or the end. -->
|
||||
|
||||
<dynamicField name="*_i" type="int" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_is" type="int" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_is" type="ints" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_s" type="string" indexed="true" stored="true" />
|
||||
<dynamicField name="*_ss" type="string" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_ss" type="strings" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_l" type="long" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_ls" type="long" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_t" type="text_general" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_ls" type="longs" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_txt" type="text_general" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_en" type="text_en" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_bs" type="boolean" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_bs" type="booleans" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_f" type="float" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_fs" type="float" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_fs" type="floats" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_d" type="double" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_ds" type="double" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_ds" type="doubles" indexed="true" stored="true"/>
|
||||
|
||||
<!-- Type used to index the lat and lon components for the "location" FieldType -->
|
||||
<dynamicField name="*_coordinate" type="tdouble" indexed="true" stored="false" />
|
||||
|
@ -142,13 +148,19 @@
|
|||
<dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_dts" type="date" indexed="true" stored="true" multiValued="true"/>
|
||||
<dynamicField name="*_p" type="location" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_srpt" type="location_rpt" indexed="true" stored="true"/>
|
||||
|
||||
<!-- some trie-coded dynamic fields for faster range queries -->
|
||||
<dynamicField name="*_ti" type="tint" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tis" type="tints" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tl" type="tlong" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tls" type="tlongs" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tf" type="tfloat" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tfs" type="tfloats" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_td" type="tdouble" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tds" type="tdoubles" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tdt" type="tdate" indexed="true" stored="true"/>
|
||||
<dynamicField name="*_tdts" type="tdates" indexed="true" stored="true"/>
|
||||
|
||||
<dynamicField name="*_c" type="currency" indexed="true" stored="true"/>
|
||||
|
||||
|
@ -173,24 +185,9 @@
|
|||
-->
|
||||
<uniqueKey>id</uniqueKey>
|
||||
|
||||
<!-- DEPRECATED: The defaultSearchField is consulted by various query parsers when
|
||||
parsing a query string that isn't explicit about the field. Machine (non-user)
|
||||
generated queries are best made explicit, or they can use the "df" request parameter
|
||||
which takes precedence over this.
|
||||
Note: Un-commenting defaultSearchField will be insufficient if your request handler
|
||||
in solrconfig.xml defines "df", which takes precedence. That would need to be removed.
|
||||
<defaultSearchField>text</defaultSearchField> -->
|
||||
|
||||
<!-- DEPRECATED: The defaultOperator (AND|OR) is consulted by various query parsers
|
||||
when parsing a query string to determine if a clause of the query should be marked as
|
||||
required or optional, assuming the clause isn't already marked by some operator.
|
||||
The default is OR, which is generally assumed so it is not a good idea to change it
|
||||
globally here. The "q.op" request parameter takes precedence over this.
|
||||
<solrQueryParser defaultOperator="OR"/> -->
|
||||
|
||||
<!-- copyField commands copy one field to another at the time a document
|
||||
is added to the index. It's used either to index the same field differently,
|
||||
or to add multiple fields to the same field for easier/faster searching.
|
||||
is added to the index. It's used either to index the same field differently,
|
||||
or to add multiple fields to the same field for easier/faster searching.
|
||||
|
||||
<copyField source="cat" dest="text"/>
|
||||
<copyField source="name" dest="text"/>
|
||||
|
@ -277,6 +274,11 @@
|
|||
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
|
||||
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0"/>
|
||||
|
||||
<fieldType name="ints" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0" multiValued="true"/>
|
||||
<fieldType name="floats" class="solr.TrieFloatField" precisionStep="0" positionIncrementGap="0" multiValued="true"/>
|
||||
<fieldType name="longs" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0" multiValued="true"/>
|
||||
<fieldType name="doubles" class="solr.TrieDoubleField" precisionStep="0" positionIncrementGap="0" multiValued="true"/>
|
||||
|
||||
<!--
|
||||
Numeric field types that index each value at various levels of precision
|
||||
to accelerate range queries when the number of values between the range
|
||||
|
@ -320,6 +322,7 @@
|
|||
Note: For faster range queries, consider the tdate type
|
||||
-->
|
||||
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
|
||||
<fieldType name="dates" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0" multiValued="true"/>
|
||||
|
||||
<!-- A Trie based date field for faster date range queries and date faceting. -->
|
||||
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6" positionIncrementGap="0"/>
|
||||
|
@ -364,6 +367,7 @@
|
|||
-->
|
||||
|
||||
<!-- A text field that only splits on whitespace for exact matching of words -->
|
||||
<dynamicField name="*_ws" type="text_ws" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||
|
@ -397,6 +401,7 @@
|
|||
(lang/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. -->
|
||||
<dynamicField name="*_txt_en" type="text_en" indexed="true" stored="true"/>
|
||||
<fieldType name="text_en" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer type="index">
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -443,6 +448,7 @@
|
|||
cases will work, for example query "wi fi" will match
|
||||
document "WiFi" or "wi-fi".
|
||||
-->
|
||||
<dynamicField name="*_txt_en_split" type="text_en_splitting" indexed="true" stored="true"/>
|
||||
<fieldType name="text_en_splitting" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
|
||||
<analyzer type="index">
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||
|
@ -476,6 +482,7 @@
|
|||
|
||||
<!-- 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. -->
|
||||
<dynamicField name="*_txt_en_split_tight" type="text_en_splitting_tight" indexed="true" stored="true"/>
|
||||
<fieldType name="text_en_splitting_tight" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||
|
@ -493,7 +500,8 @@
|
|||
|
||||
<!-- Just like text_general except it reverses the characters of
|
||||
each token, to enable more efficient leading wildcard queries. -->
|
||||
<fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100">
|
||||
<dynamicField name="*_txt_rev" type="text_general_rev" indexed="true" stored="true"/>
|
||||
<fieldType name="text_general_rev" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer type="index">
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
|
||||
|
@ -509,75 +517,16 @@
|
|||
</analyzer>
|
||||
</fieldType>
|
||||
|
||||
<!-- charFilter + WhitespaceTokenizer -->
|
||||
<!--
|
||||
<fieldType name="text_char_norm" class="solr.TextField" positionIncrementGap="100" >
|
||||
<analyzer>
|
||||
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||
</analyzer>
|
||||
</fieldType>
|
||||
-->
|
||||
|
||||
<!-- This is an example of using the KeywordTokenizer along
|
||||
With various TokenFilterFactories to produce a sortable field
|
||||
that does not include some properties of the source text
|
||||
-->
|
||||
<fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
|
||||
<analyzer>
|
||||
<!-- KeywordTokenizer does no actual tokenizing, so the entire
|
||||
input string is preserved as a single token
|
||||
-->
|
||||
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
||||
<!-- The LowerCase TokenFilter does what you expect, which can be
|
||||
when you want your sorting to be case insensitive
|
||||
-->
|
||||
<filter class="solr.LowerCaseFilterFactory" />
|
||||
<!-- The TrimFilter removes any leading or trailing whitespace -->
|
||||
<filter class="solr.TrimFilterFactory" />
|
||||
<!-- The PatternReplaceFilter gives you the flexibility to use
|
||||
Java Regular expression to replace any sequence of characters
|
||||
matching a pattern with an arbitrary replacement string,
|
||||
which may include back references to portions of the original
|
||||
string matched by the pattern.
|
||||
|
||||
See the Java Regular Expression documentation for more
|
||||
information on pattern and replacement string syntax.
|
||||
|
||||
http://docs.oracle.com/javase/7/docs/api/java/util/regex/package-summary.html
|
||||
-->
|
||||
<filter class="solr.PatternReplaceFilterFactory"
|
||||
pattern="([^a-z])" replacement="" replace="all"
|
||||
/>
|
||||
</analyzer>
|
||||
</fieldType>
|
||||
|
||||
<fieldType name="phonetic" stored="false" indexed="true" class="solr.TextField" >
|
||||
<dynamicField name="*_phon_en" type="phonetic_en" indexed="true" stored="true"/>
|
||||
<fieldType name="phonetic_en" stored="false" indexed="true" class="solr.TextField" >
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
<filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
|
||||
</analyzer>
|
||||
</fieldType>
|
||||
|
||||
<fieldType name="payloads" stored="false" indexed="true" class="solr.TextField" >
|
||||
<analyzer>
|
||||
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
|
||||
<!--
|
||||
The DelimitedPayloadTokenFilter can put payloads on tokens... for example,
|
||||
a token of "foo|1.4" would be indexed as "foo" with a payload of 1.4f
|
||||
Attributes of the DelimitedPayloadTokenFilterFactory :
|
||||
"delimiter" - a one character delimiter. Default is | (pipe)
|
||||
"encoder" - how to encode the following value into a playload
|
||||
float -> org.apache.lucene.analysis.payloads.FloatEncoder,
|
||||
integer -> o.a.l.a.p.IntegerEncoder
|
||||
identity -> o.a.l.a.p.IdentityEncoder
|
||||
Fully Qualified class name implementing PayloadEncoder, Encoder must have a no arg constructor.
|
||||
-->
|
||||
<filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
|
||||
</analyzer>
|
||||
</fieldType>
|
||||
|
||||
<!-- lowercases the entire field value, keeping it as a single token. -->
|
||||
<dynamicField name="*_s_lower" type="lowercase" indexed="true" stored="true"/>
|
||||
<fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.KeywordTokenizerFactory"/>
|
||||
|
@ -589,7 +538,8 @@
|
|||
Example of using PathHierarchyTokenizerFactory at index time, so
|
||||
queries for paths match documents at that path, or in descendent paths
|
||||
-->
|
||||
<fieldType name="descendent_path" class="solr.TextField">
|
||||
<dynamicField name="*_descendent_path" type="descendent_path" indexed="true" stored="true"/>
|
||||
<fieldType name="descendent_path" class="solr.TextField">
|
||||
<analyzer type="index">
|
||||
<tokenizer class="solr.PathHierarchyTokenizerFactory" delimiter="/" />
|
||||
</analyzer>
|
||||
|
@ -601,6 +551,7 @@
|
|||
Example of using PathHierarchyTokenizerFactory at query time, so
|
||||
queries for paths match documents at that path, or in ancestor paths
|
||||
-->
|
||||
<dynamicField name="*_ancestor_path" type="ancestor_path" indexed="true" stored="true"/>
|
||||
<fieldType name="ancestor_path" class="solr.TextField">
|
||||
<analyzer type="index">
|
||||
<tokenizer class="solr.KeywordTokenizerFactory" />
|
||||
|
@ -625,7 +576,8 @@
|
|||
The subFields are an implementation detail of the fieldType, and end
|
||||
users normally should not need to know about them.
|
||||
-->
|
||||
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
|
||||
<dynamicField name="*_point" type="point" indexed="true" stored="true"/>
|
||||
<fieldType name="point" class="solr.PointType" dimension="2" subFieldSuffix="_d"/>
|
||||
|
||||
<!-- A specialized field for geospatial search. If indexed, this fieldType must not be multivalued. -->
|
||||
<fieldType name="location" class="solr.LatLonType" subFieldSuffix="_coordinate"/>
|
||||
|
@ -655,6 +607,7 @@
|
|||
<!-- some examples for different languages (generally ordered by ISO code) -->
|
||||
|
||||
<!-- Arabic -->
|
||||
<dynamicField name="*_txt_ar" type="text_ar" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ar" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -668,6 +621,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Bulgarian -->
|
||||
<dynamicField name="*_txt_bg" type="text_bg" indexed="true" stored="true"/>
|
||||
<fieldType name="text_bg" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -678,6 +632,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Catalan -->
|
||||
<dynamicField name="*_txt_ca" type="text_ca" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ca" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -690,6 +645,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- CJK bigram (see text_ja for a Japanese configuration using morphological analysis) -->
|
||||
<dynamicField name="*_txt_cjk" type="text_cjk" indexed="true" stored="true"/>
|
||||
<fieldType name="text_cjk" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -702,6 +658,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Czech -->
|
||||
<dynamicField name="*_txt_cz" type="text_cz" indexed="true" stored="true"/>
|
||||
<fieldType name="text_cz" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -712,6 +669,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Danish -->
|
||||
<dynamicField name="*_txt_da" type="text_da" indexed="true" stored="true"/>
|
||||
<fieldType name="text_da" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -722,6 +680,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- German -->
|
||||
<dynamicField name="*_txt_de" type="text_de" indexed="true" stored="true"/>
|
||||
<fieldType name="text_de" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -735,6 +694,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Greek -->
|
||||
<dynamicField name="*_txt_el" type="text_el" indexed="true" stored="true"/>
|
||||
<fieldType name="text_el" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -746,6 +706,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Spanish -->
|
||||
<dynamicField name="*_txt_es" type="text_es" indexed="true" stored="true"/>
|
||||
<fieldType name="text_es" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -757,6 +718,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Basque -->
|
||||
<dynamicField name="*_txt_eu" type="text_eu" indexed="true" stored="true"/>
|
||||
<fieldType name="text_eu" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -767,6 +729,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Persian -->
|
||||
<dynamicField name="*_txt_fa" type="text_fa" indexed="true" stored="true"/>
|
||||
<fieldType name="text_fa" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<!-- for ZWNJ -->
|
||||
|
@ -780,6 +743,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Finnish -->
|
||||
<dynamicField name="*_txt_fi" type="text_fi" indexed="true" stored="true"/>
|
||||
<fieldType name="text_fi" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -791,6 +755,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- French -->
|
||||
<dynamicField name="*_txt_fr" type="text_fr" indexed="true" stored="true"/>
|
||||
<fieldType name="text_fr" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -805,6 +770,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Irish -->
|
||||
<dynamicField name="*_txt_ga" type="text_ga" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ga" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -819,6 +785,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Galician -->
|
||||
<dynamicField name="*_txt_gl" type="text_gl" indexed="true" stored="true"/>
|
||||
<fieldType name="text_gl" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -830,6 +797,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Hindi -->
|
||||
<dynamicField name="*_txt_hi" type="text_hi" indexed="true" stored="true"/>
|
||||
<fieldType name="text_hi" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -844,6 +812,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Hungarian -->
|
||||
<dynamicField name="*_txt_hu" type="text_hu" indexed="true" stored="true"/>
|
||||
<fieldType name="text_hu" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -855,6 +824,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Armenian -->
|
||||
<dynamicField name="*_txt_hy" type="text_hy" indexed="true" stored="true"/>
|
||||
<fieldType name="text_hy" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -865,6 +835,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Indonesian -->
|
||||
<dynamicField name="*_txt_id" type="text_id" indexed="true" stored="true"/>
|
||||
<fieldType name="text_id" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -876,7 +847,8 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Italian -->
|
||||
<fieldType name="text_it" class="solr.TextField" positionIncrementGap="100">
|
||||
<dynamicField name="*_txt_it" type="text_it" indexed="true" stored="true"/>
|
||||
<fieldType name="text_it" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
<!-- removes l', etc -->
|
||||
|
@ -894,6 +866,7 @@
|
|||
parser config with <solrQueryParser defaultOperator="AND"/> further down in this file. Use
|
||||
OR if you would like to optimize for recall (default).
|
||||
-->
|
||||
<dynamicField name="*_txt_ja" type="text_ja" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="false">
|
||||
<analyzer>
|
||||
<!-- Kuromoji Japanese morphological analyzer/tokenizer (JapaneseTokenizer)
|
||||
|
@ -942,6 +915,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Latvian -->
|
||||
<dynamicField name="*_txt_lv" type="text_lv" indexed="true" stored="true"/>
|
||||
<fieldType name="text_lv" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -952,6 +926,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Dutch -->
|
||||
<dynamicField name="*_txt_nl" type="text_nl" indexed="true" stored="true"/>
|
||||
<fieldType name="text_nl" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -963,6 +938,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Norwegian -->
|
||||
<dynamicField name="*_txt_no" type="text_no" indexed="true" stored="true"/>
|
||||
<fieldType name="text_no" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -975,7 +951,8 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Portuguese -->
|
||||
<fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100">
|
||||
<dynamicField name="*_txt_pt" type="text_pt" indexed="true" stored="true"/>
|
||||
<fieldType name="text_pt" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
<filter class="solr.LowerCaseFilterFactory"/>
|
||||
|
@ -988,6 +965,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Romanian -->
|
||||
<dynamicField name="*_txt_ro" type="text_ro" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ro" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -998,6 +976,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Russian -->
|
||||
<dynamicField name="*_txt_ru" type="text_ru" indexed="true" stored="true"/>
|
||||
<fieldType name="text_ru" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -1009,6 +988,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Swedish -->
|
||||
<dynamicField name="*_txt_sv" type="text_sv" indexed="true" stored="true"/>
|
||||
<fieldType name="text_sv" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -1020,6 +1000,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Thai -->
|
||||
<dynamicField name="*_txt_th" type="text_th" indexed="true" stored="true"/>
|
||||
<fieldType name="text_th" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.ThaiTokenizerFactory"/>
|
||||
|
@ -1029,6 +1010,7 @@
|
|||
</fieldType>
|
||||
|
||||
<!-- Turkish -->
|
||||
<dynamicField name="*_txt_tr" type="text_tr" indexed="true" stored="true"/>
|
||||
<fieldType name="text_tr" class="solr.TextField" positionIncrementGap="100">
|
||||
<analyzer>
|
||||
<tokenizer class="solr.StandardTokenizerFactory"/>
|
||||
|
@ -1038,10 +1020,6 @@
|
|||
</analyzer>
|
||||
</fieldType>
|
||||
|
||||
<!-- catchall field, containing all other searchable text fields (implemented
|
||||
via copyField) -->
|
||||
<field name="_text" type="text_general" indexed="true" stored="false" multiValued="true"/>
|
||||
<copyField source="*" dest="_text"/>
|
||||
<!-- Similarity is the scoring routine for each document vs. a query.
|
||||
A custom Similarity or SimilarityFactory may be specified here, but
|
||||
the default is fine for most applications.
|
Loading…
Reference in New Issue