Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Newer
Older
100644 551 lines (471 sloc) 29.152 kB
14656de @GraylinKim Abreviates and reorganizes schema.xml. Moves verbose version to the e…
GraylinKim authored
1
2
3
4
5
6 <schema name="OpenDirectory" version="1.2">
7 <!-- attribute "name" is the name of this schema and is only used for display purposes.
8 -->
9
10 <types>
11 <!-- field type definitions. The "name" attribute is
12 just a label to be used by field definitions. The "class"
13 attribute and any other attributes determine the real
14 behavior of the fieldType.
15 Class names starting with "solr" refer to java classes in the
16 org.apache.solr.analysis package.
17 -->
18
19 <!-- The StrField type is not analyzed, but indexed/stored verbatim.
20 - StrField and TextField support an optional compressThreshold which
21 limits compression (if enabled in the derived fields) to values which
22 exceed a certain size (in characters).
23 -->
24 <fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
25
26 <!-- boolean type: "true" or "false" -->
27 <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
28 <!--Binary data type. The data should be sent/retrieved in as Base64 encoded Strings -->
29 <fieldtype name="binary" class="solr.BinaryField"/>
30
31 <!-- The optional sortMissingLast and sortMissingFirst attributes are
32 currently supported on types that are sorted internally as strings.
33 This includes "string","boolean","sint","slong","sfloat","sdouble","pdate"
34 - If sortMissingLast="true", then a sort on this field will cause documents
35 without the field to come after documents with the field,
36 regardless of the requested sort order (asc or desc).
37 - If sortMissingFirst="true", then a sort on this field will cause documents
38 without the field to come before documents with the field,
39 regardless of the requested sort order.
40 - If sortMissingLast="false" and sortMissingFirst="false" (the default),
41 then default lucene sorting will be used which places docs without the
42 field first in an ascending sort and last in a descending sort.
43 -->
44
45 <!--
46 Default numeric field types. For faster range queries, consider the tint/tfloat/tlong/tdouble types.
47 -->
48 <fieldType name="int" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
49 <fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
50 <fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
51 <fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
52
53 <!--
54 Numeric field types that index each value at various levels of precision
55 to accelerate range queries when the number of values between the range
56 endpoints is large. See the javadoc for NumericRangeQuery for internal
57 implementation details.
58
59 Smaller precisionStep values (specified in bits) will lead to more tokens
60 indexed per value, slightly larger index size, and faster range queries.
61 A precisionStep of 0 disables indexing at different precision levels.
62 -->
63 <fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
64 <fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
65 <fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
66 <fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
67
68 <!-- The format for this date field is of the form 1995-12-31T23:59:59Z, and
69 is a more restricted form of the canonical representation of dateTime
70 http://www.w3.org/TR/xmlschema-2/#dateTime
71 The trailing "Z" designates UTC time and is mandatory.
72 Optional fractional seconds are allowed: 1995-12-31T23:59:59.999Z
73 All other components are mandatory.
74
75 Expressions can also be used to denote calculations that should be
76 performed relative to "NOW" to determine the value, ie...
77
78 NOW/HOUR
79 ... Round to the start of the current hour
80 NOW-1DAY
81 ... Exactly 1 day prior to now
82 NOW/DAY+6MONTHS+3DAYS
83 ... 6 months and 3 days in the future from the start of
84 the current day
85
86 Consult the DateField javadocs for more information.
87
88 Note: For faster range queries, consider the tdate type
89 -->
90 <fieldType name="date" class="solr.TrieDateField" omitNorms="true" precisionStep="0" positionIncrementGap="0"/>
91
92 <!-- A Trie based date field for faster date range queries and date faceting. -->
93 <fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
94
95
96 <!--
97 Note:
98 These should only be used for compatibility with existing indexes (created with older Solr versions)
99 or if "sortMissingFirst" or "sortMissingLast" functionality is needed. Use Trie based fields instead.
100
101 Plain numeric field types that store and index the text
102 value verbatim (and hence don't support range queries, since the
103 lexicographic ordering isn't equal to the numeric ordering)
104 -->
105 <fieldType name="pint" class="solr.IntField" omitNorms="true"/>
106 <fieldType name="plong" class="solr.LongField" omitNorms="true"/>
107 <fieldType name="pfloat" class="solr.FloatField" omitNorms="true"/>
108 <fieldType name="pdouble" class="solr.DoubleField" omitNorms="true"/>
109 <fieldType name="pdate" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
110
111
112 <!--
113 Note:
114 These should only be used for compatibility with existing indexes (created with older Solr versions)
115 or if "sortMissingFirst" or "sortMissingLast" functionality is needed. Use Trie based fields instead.
116
117 Numeric field types that manipulate the value into
118 a string value that isn't human-readable in its internal form,
119 but with a lexicographic ordering the same as the numeric ordering,
120 so that range queries work correctly.
121 -->
122 <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
123 <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
124 <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
125 <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
126
127
128 <!-- The "RandomSortField" is not used to store or search any
129 data. You can declare fields of this type it in your schema
130 to generate pseudo-random orderings of your docs for sorting
131 purposes. The ordering is generated based on the field name
132 and the version of the index, As long as the index version
133 remains unchanged, and the same field name is reused,
134 the ordering of the docs will be consistent.
135 If you want different psuedo-random orderings of documents,
136 for the same version of the index, use a dynamicField and
137 change the name
138 -->
139 <fieldType name="random" class="solr.RandomSortField" indexed="true" />
140
141 <!-- solr.TextField allows the specification of custom text analyzers
142 specified as a tokenizer and a list of token filters. Different
143 analyzers may be specified for indexing and querying.
144
145 The optional positionIncrementGap puts space between multiple fields of
146 this type on the same document, with the purpose of preventing false phrase
147 matching across fields.
148
149 For more info on customizing your analyzer chain, please see
150 http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters
151 -->
152
153 <!-- One can also specify an existing Analyzer class that has a
154 default constructor via the class attribute on the analyzer element
155 <fieldType name="text_greek" class="solr.TextField">
156 <analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/>
157 </fieldType>
158 -->
159
160 <!-- A text field that only splits on whitespace for exact matching of words -->
161 <fieldType name="text_ws" class="solr.TextField" positionIncrementGap="100">
162 <analyzer>
163 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
164 </analyzer>
165 </fieldType>
166
167 <!-- A text field that uses WordDelimiterFilter to enable splitting and matching of
168 words on case-change, alpha numeric boundaries, and non-alphanumeric chars,
169 so that a query of "wifi" or "wi fi" could match a document containing "Wi-Fi".
170 Synonyms and stopwords are customized by external files, and stemming is enabled.
171 -->
172 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
173 <analyzer type="index">
174 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
175 <!-- in this example, we will only use synonyms at query time
176 <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
177 -->
178 <!-- Case insensitive stop word removal.
179 add enablePositionIncrements=true in both the index and query
180 analyzers to leave a 'gap' for more accurate phrase queries.
181 -->
182 <filter class="solr.StopFilterFactory"
183 ignoreCase="true"
184 words="stopwords.txt"
185 enablePositionIncrements="true"
186 />
187 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
188 <filter class="solr.LowerCaseFilterFactory"/>
189 <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
190 </analyzer>
191 <analyzer type="query">
192 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
193 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
194 <filter class="solr.StopFilterFactory"
195 ignoreCase="true"
196 words="stopwords.txt"
197 enablePositionIncrements="true"
198 />
199 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
200 <filter class="solr.LowerCaseFilterFactory"/>
201 <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
202 </analyzer>
203 </fieldType>
204
205
206 <!-- Less flexible matching, but less false matches. Probably not ideal for product names,
207 but may be good for SKUs. Can insert dashes in the wrong place and still match. -->
208 <fieldType name="textTight" class="solr.TextField" positionIncrementGap="100" >
209 <analyzer>
210 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
211 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="false"/>
212 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
213 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="0" generateNumberParts="0" catenateWords="1" catenateNumbers="1" catenateAll="0"/>
214 <filter class="solr.LowerCaseFilterFactory"/>
215 <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
216 <!-- this filter can remove any duplicate tokens that appear at the same position - sometimes
217 possible with WordDelimiterFilter in conjuncton with stemming. -->
218 <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
219 </analyzer>
220 </fieldType>
221
222
223 <!-- A general unstemmed text field - good if one does not know the language of the field -->
224 <fieldType name="textgen" class="solr.TextField" positionIncrementGap="100">
225 <analyzer type="index">
226 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
227 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
228 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
229 <filter class="solr.LowerCaseFilterFactory"/>
230 </analyzer>
231 <analyzer type="query">
232 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
233 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
234 <filter class="solr.StopFilterFactory"
235 ignoreCase="true"
236 words="stopwords.txt"
237 enablePositionIncrements="true"
238 />
239 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
240 <filter class="solr.LowerCaseFilterFactory"/>
241 </analyzer>
242 </fieldType>
243
244
245 <!-- A general unstemmed text field that indexes tokens normally and also
246 reversed (via ReversedWildcardFilterFactory), to enable more efficient
247 leading wildcard queries. -->
248 <fieldType name="text_rev" class="solr.TextField" positionIncrementGap="100">
249 <analyzer type="index">
250 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
251 <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
252 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="0"/>
253 <filter class="solr.LowerCaseFilterFactory"/>
254 <filter class="solr.ReversedWildcardFilterFactory" withOriginal="true"
255 maxPosAsterisk="3" maxPosQuestion="2" maxFractionAsterisk="0.33"/>
256 </analyzer>
257 <analyzer type="query">
258 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
259 <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
260 <filter class="solr.StopFilterFactory"
261 ignoreCase="true"
262 words="stopwords.txt"
263 enablePositionIncrements="true"
264 />
265 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="0"/>
266 <filter class="solr.LowerCaseFilterFactory"/>
267 </analyzer>
268 </fieldType>
269
270 <!-- charFilter + WhitespaceTokenizer -->
271 <!--
272 <fieldType name="textCharNorm" class="solr.TextField" positionIncrementGap="100" >
273 <analyzer>
274 <charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
275 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
276 </analyzer>
277 </fieldType>
278 -->
279
280 <!-- This is an example of using the KeywordTokenizer along
281 With various TokenFilterFactories to produce a sortable field
282 that does not include some properties of the source text
283 -->
284 <fieldType name="alphaOnlySort" class="solr.TextField" sortMissingLast="true" omitNorms="true">
285 <analyzer>
286 <!-- KeywordTokenizer does no actual tokenizing, so the entire
287 input string is preserved as a single token
288 -->
289 <tokenizer class="solr.KeywordTokenizerFactory"/>
290 <!-- The LowerCase TokenFilter does what you expect, which can be
291 when you want your sorting to be case insensitive
292 -->
293 <filter class="solr.LowerCaseFilterFactory" />
294 <!-- The TrimFilter removes any leading or trailing whitespace -->
295 <filter class="solr.TrimFilterFactory" />
296 <!-- The PatternReplaceFilter gives you the flexibility to use
297 Java Regular expression to replace any sequence of characters
298 matching a pattern with an arbitrary replacement string,
299 which may include back references to portions of the original
300 string matched by the pattern.
301
302 See the Java Regular Expression documentation for more
303 information on pattern and replacement string syntax.
304
305 http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/package-summary.html
306 -->
307 <filter class="solr.PatternReplaceFilterFactory"
308 pattern="([^a-z])" replacement="" replace="all"
309 />
310 </analyzer>
311 </fieldType>
312
313 <fieldtype name="phonetic" stored="false" indexed="true" class="solr.TextField" >
314 <analyzer>
315 <tokenizer class="solr.StandardTokenizerFactory"/>
316 <filter class="solr.DoubleMetaphoneFilterFactory" inject="false"/>
317 </analyzer>
318 </fieldtype>
319
320 <fieldtype name="payloads" stored="false" indexed="true" class="solr.TextField" >
321 <analyzer>
322 <tokenizer class="solr.WhitespaceTokenizerFactory"/>
323 <!--
324 The DelimitedPayloadTokenFilter can put payloads on tokens... for example,
325 a token of "foo|1.4" would be indexed as "foo" with a payload of 1.4f
326 Attributes of the DelimitedPayloadTokenFilterFactory :
327 "delimiter" - a one character delimiter. Default is | (pipe)
328 "encoder" - how to encode the following value into a playload
329 float -> org.apache.lucene.analysis.payloads.FloatEncoder,
330 integer -> o.a.l.a.p.IntegerEncoder
331 identity -> o.a.l.a.p.IdentityEncoder
332 Fully Qualified class name implementing PayloadEncoder, Encoder must have a no arg constructor.
333 -->
334 <filter class="solr.DelimitedPayloadTokenFilterFactory" encoder="float"/>
335 </analyzer>
336 </fieldtype>
337
338 <!-- lowercases the entire field value, keeping it as a single token. -->
339 <fieldType name="lowercase" class="solr.TextField" positionIncrementGap="100">
340 <analyzer>
341 <tokenizer class="solr.KeywordTokenizerFactory"/>
342 <filter class="solr.LowerCaseFilterFactory" />
343 </analyzer>
344 </fieldType>
345
346
347 <!-- since fields of this type are by default not stored or indexed,
348 any data added to them will be ignored outright. -->
349 <fieldtype name="ignored" stored="false" indexed="false" multiValued="true" class="solr.StrField" />
350
351 </types>
352
353 <fields>
354 <!-- Valid attributes for fields:
355 name: mandatory - the name for the field
356 type: mandatory - the name of a previously defined type from the
357 <types> section
358 indexed: true if this field should be indexed (searchable or sortable)
359 stored: true if this field should be retrievable
360 compressed: [false] if this field should be stored using gzip compression
361 (this will only apply if the field type is compressable; among
362 the standard field types, only TextField and StrField are)
363 multiValued: true if this field may contain multiple values per document
364 omitNorms: (expert) set to true to omit the norms associated with
365 this field (this disables length normalization and index-time
366 boosting for the field, and saves some memory). Only full-text
367 fields or fields that need an index-time boost need norms.
368 termVectors: [false] set to true to store the term vector for a
369 given field.
370 When using MoreLikeThis, fields used for similarity should be
371 stored for best performance.
372 termPositions: Store position information with the term vector.
373 This will increase storage costs.
374 termOffsets: Store offset information with the term vector. This
375 will increase storage costs.
376 default: a value that should be used if no value is specified
377 when adding a document.
378 -->
379
380 <field name="uid" type="string" indexed="true" stored="true" required="true" />
381 <field name="otype" type="string" indexed="true" stored="true" required="true" />
382 <field name="firstName" type="textgen" indexed="true" stored="true" />
383 <field name="lastName" type="textgen" indexed="true" stored="true"/>
384 <field name="title" type="textgen" indexed="true" stored="true"/>
385 <field name="fullName" type="textgen" indexed="true" stored="true"/>
386 <field name="state" type="textgen" indexed="true" stored="true" />
387 <field name="location" type="textgen" indexed="true" stored="true"/>
388 <field name="department" type="textgen" indexed="true" stored="true" />
389 <field name="phone" type="textgen" indexed="true" stored="true"/>
390 <field name="email" type="textgen" indexed="true" stored="true"/>
391 <field name="skills" type="textgen" indexed="true" stored="true"/>
392 <field name="interests" type="textgen" indexed="true" stored="true"/>
393 <field name="bio" type="textgen" indexed="true" stored="true"/>
394 <field name="facebook" type="textgen" indexed="false" stored="true"/>
395 <field name="linkedin" type="textgen" indexed="false" stored="true"/>
396 <field name="twitter" type="textgen" indexed="false" stored="true"/>
397 <field name="irc" type="textgen" indexed="true" stored="true"/>
398 <field name="picture" type="text" indexed="false" stored="true"/>
399 <field name="email2" type="textgen" indexed="true" stored="true"/>
400 <field name="phone2" type="textgen" indexed="true" stored="true"/>
401 <field name="bookmarks" type="string" indexed="false" stored="true"/>
402 <field name="permissions" type="string" indexed="false" stored="true"/>
403 <field name="user_credential" type="string" indexed="false" stored="true" />
404
405 <!-- <field name="id" type="string" indexed="true" stored="true" required="true" />
406 <field name="sku" type="textTight" indexed="true" stored="true" omitNorms="true"/>
407 <field name="name" type="textgen" indexed="true" stored="true"/>
408 <field name="alphaNameSort" type="alphaOnlySort" indexed="true" stored="false"/>
409 <field name="manu" type="textgen" indexed="true" stored="true" omitNorms="true"/>
410 <field name="cat" type="text_ws" indexed="true" stored="true" multiValued="true" omitNorms="true" />
411 <field name="features" type="text" indexed="true" stored="true" multiValued="true"/>
412 <field name="includes" type="text" indexed="true" stored="true" termVectors="true" termPositions="true" termOffsets="true" />
413
414 <field name="weight" type="float" indexed="true" stored="true"/>
415 <field name="price" type="float" indexed="true" stored="true"/>
416 <field name="popularity" type="int" indexed="true" stored="true" />
417 <field name="inStock" type="boolean" indexed="true" stored="true" />
418 -->
419
420 <!-- Common metadata fields, named specifically to match up with
421 SolrCell metadata when parsing rich documents such as Word, PDF.
422 Some fields are multiValued only because Tika currently may return
423 multiple values for them.
424
425 <field name="title" type="text" indexed="true" stored="true" multiValued="true"/>
426 <field name="subject" type="text" indexed="true" stored="true"/>
427 <field name="description" type="text" indexed="true" stored="true"/>
428 <field name="comments" type="text" indexed="true" stored="true"/>
429 <field name="author" type="textgen" indexed="true" stored="true"/>
430 <field name="keywords" type="textgen" indexed="true" stored="true"/>
431 <field name="category" type="textgen" indexed="true" stored="true"/>
432 <field name="content_type" type="string" indexed="true" stored="true" multiValued="true"/>
433 <field name="last_modified" type="date" indexed="true" stored="true"/>
434 <field name="links" type="string" indexed="true" stored="true" multiValued="true"/>
435 -->
436
437 <!-- catchall field, containing all other searchable text fields (implemented
438 via copyField further on in this schema -->
439 <field name="text" type="text" indexed="true" stored="false" multiValued="true"/>
440
441 <!-- catchall text field that indexes tokens both normally and in reverse for efficient
442 leading wildcard queries. -->
443 <field name="text_rev" type="text_rev" indexed="true" stored="false" multiValued="true"/>
444
445 <!-- non-tokenized version of manufacturer to make it easier to sort or group
446 results by manufacturer. copied from "manu" via copyField -->
447 <field name="manu_exact" type="string" indexed="true" stored="false"/>
448
449 <field name="payloads" type="payloads" indexed="true" stored="true"/>
450
451 <!-- Uncommenting the following will create a "timestamp" field using
452 a default value of "NOW" to indicate when each document was indexed.
453 -->
454 <!--
455 <field name="timestamp" type="date" indexed="true" stored="true" default="NOW" multiValued="false"/>
456 -->
457
458
459 <!-- Dynamic field definitions. If a field name is not found, dynamicFields
460 will be used if the name matches any of the patterns.
461 RESTRICTION: the glob-like pattern in the name attribute must have
462 a "*" only at the start or the end.
463 EXAMPLE: name="*_i" will match any field ending in _i (like myid_i, z_i)
464 Longer patterns will be matched first. if equal size patterns
465 both match, the first appearing in the schema will be used. -->
466 <dynamicField name="*_i" type="int" indexed="true" stored="true"/>
467 <dynamicField name="*_s" type="string" indexed="true" stored="true"/>
468 <dynamicField name="*_l" type="long" indexed="true" stored="true"/>
469 <dynamicField name="*_t" type="text" indexed="true" stored="true"/>
470 <dynamicField name="*_b" type="boolean" indexed="true" stored="true"/>
471 <dynamicField name="*_f" type="float" indexed="true" stored="true"/>
472 <dynamicField name="*_d" type="double" indexed="true" stored="true"/>
473 <dynamicField name="*_dt" type="date" indexed="true" stored="true"/>
474
475 <!-- some trie-coded dynamic fields for faster range queries -->
476 <dynamicField name="*_ti" type="tint" indexed="true" stored="true"/>
477 <dynamicField name="*_tl" type="tlong" indexed="true" stored="true"/>
478 <dynamicField name="*_tf" type="tfloat" indexed="true" stored="true"/>
479 <dynamicField name="*_td" type="tdouble" indexed="true" stored="true"/>
480 <dynamicField name="*_tdt" type="tdate" indexed="true" stored="true"/>
481
482 <dynamicField name="*_pi" type="pint" indexed="true" stored="true"/>
483
484 <dynamicField name="ignored_*" type="ignored" multiValued="true"/>
485 <dynamicField name="attr_*" type="textgen" indexed="true" stored="true" multiValued="true"/>
486
487 <dynamicField name="random_*" type="random" />
488
489 <!-- uncomment the following to ignore any fields that don't already match an existing
490 field name or dynamic field, rather than reporting them as an error.
491 alternately, change the type="ignored" to some other type e.g. "text" if you want
492 unknown fields indexed and/or stored by default -->
493 <!-- dynamicField name="*" type="text" multiValued="true" /-->
494
495 </fields>
496
497 <!-- Field to use to determine and enforce document uniqueness.
498 Unless this field is marked with required="false", it will be a required field
499 -->
500 <uniqueKey>uid</uniqueKey>
501
502 <!-- field for the QueryParser to use when an explicit fieldname is absent -->
503 <defaultSearchField>text</defaultSearchField>
504
505 <!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
506 <solrQueryParser defaultOperator="OR"/>
507
508 <!-- copyField commands copy one field to another at the time a document
509 is added to the index. It's used either to index the same field differently,
510 or to add multiple fields to the same field for easier/faster searching. -->
511
512 <copyField source="fullName" dest="text"/>
513 <copyField source="phone" dest="text"/>
514 <copyField source="title" dest="text"/>
515 <copyField source="location" dest="text"/>
516 <copyField source="department" dest="text"/>
517 <copyField source="email" dest="text"/>
518 <copyField source="skills" dest="text"/>
519 <copyField source="interests" dest="text"/>
520 <copyField source="irc" dest="text"/>
521 <copyField source="email2" dest="text"/>
522 <copyField source="phone2" dest="text"/>
523
524 <!-- Above, multiple source fields are copied to the [text] field.
525 Another way to map multiple source fields to the same
526 destination field is to use the dynamic field syntax.
527 copyField also supports a maxChars to copy setting. -->
528
529 <!-- <copyField source="*_t" dest="text" maxChars="3000"/> -->
530
531 <!-- copy name to alphaNameSort, a field designed for sorting by name -->
532 <!-- <copyField source="name" dest="alphaNameSort"/> -->
533
534
535 <!-- Similarity is the scoring routine for each document vs. a query.
536 A custom similarity may be specified here, but the default is fine
537 for most applications. -->
538 <!-- <similarity class="org.apache.lucene.search.DefaultSimilarity"/> -->
539 <!-- ... OR ...
540 Specify a SimilarityFactory class name implementation
541 allowing parameters to be used.
542 -->
543 <!--
544 <similarity class="com.example.solr.CustomSimilarityFactory">
545 <str name="paramkey">param value</str>
546 </similarity>
547 -->
548
549
550 </schema>
Something went wrong with that request. Please try again.