~slub.team/goobi-indexserver/3.x

« back to all changes in this revision

Viewing changes to solr/core/src/test-files/solr/conf/solrconfig.xml

  • Committer: Sebastian Meyer
  • Date: 2012-08-03 09:12:40 UTC
  • Revision ID: sebastian.meyer@slub-dresden.de-20120803091240-x6861b0vabq1xror
Remove Lucene and Solr source code and add patches instead
Fix Bug #985487: Auto-suggestion for the search interface

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0" ?>
2
 
 
3
 
<!--
4
 
 Licensed to the Apache Software Foundation (ASF) under one or more
5
 
 contributor license agreements.  See the NOTICE file distributed with
6
 
 this work for additional information regarding copyright ownership.
7
 
 The ASF licenses this file to You under the Apache License, Version 2.0
8
 
 (the "License"); you may not use this file except in compliance with
9
 
 the License.  You may obtain a copy of the License at
10
 
 
11
 
     http://www.apache.org/licenses/LICENSE-2.0
12
 
 
13
 
 Unless required by applicable law or agreed to in writing, software
14
 
 distributed under the License is distributed on an "AS IS" BASIS,
15
 
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 
 See the License for the specific language governing permissions and
17
 
 limitations under the License.
18
 
-->
19
 
 
20
 
<!-- $Id: solrconfig.xml 382610 2006-03-03 01:43:03Z yonik $
21
 
     $Source$
22
 
     $Name$
23
 
 
24
 
 
25
 
 
26
 
     This is a "kitchen sink" config file that tests can use.
27
 
     When writting a new test, feel free to add *new* items (plugins,
28
 
     config options, etc...) as long as they don't break any existing
29
 
     tests.  if you need to test something esoteric please add a new
30
 
     "solrconfig-your-esoteric-purpose.xml" config file.
31
 
 
32
 
     Note in particular that this test is used by MinimalSchemaTest so
33
 
     Anything added to this file needs to work correctly even if there
34
 
     is now uniqueKey or defaultSearch Field.
35
 
 
36
 
 
37
 
  -->
38
 
 
39
 
<config>
40
 
 
41
 
  <jmx />
42
 
 
43
 
  <!-- Used to specify an alternate directory to hold all index data.
44
 
       It defaults to "index" if not present, and should probably
45
 
       not be changed if replication is in use. -->
46
 
  <dataDir>${solr.data.dir:}</dataDir>
47
 
 
48
 
  <!--  The DirectoryFactory to use for indexes.
49
 
        solr.StandardDirectoryFactory, the default, is filesystem based.
50
 
        solr.RAMDirectoryFactory is memory based and not persistent. -->
51
 
  <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.RAMDirectoryFactory}"/>
52
 
 
53
 
  <luceneMatchVersion>${tests.luceneMatchVersion:LUCENE_CURRENT}</luceneMatchVersion>
54
 
 
55
 
  <indexDefaults>
56
 
   <!-- Values here affect all index writers and act as a default
57
 
   unless overridden. -->
58
 
    <!-- Values here affect all index writers and act as a default unless overridden. -->
59
 
    <useCompoundFile>false</useCompoundFile>
60
 
    <mergeFactor>10</mergeFactor>
61
 
    <!-- If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.
62
 
     -->
63
 
    <!--<maxBufferedDocs>1000</maxBufferedDocs>-->
64
 
    <!-- Tell Lucene when to flush documents to disk.
65
 
    Giving Lucene more memory for indexing means faster indexing at the cost of more RAM
66
 
 
67
 
    If both ramBufferSizeMB and maxBufferedDocs is set, then Lucene will flush based on whichever limit is hit first.
68
 
 
69
 
    -->
70
 
    <ramBufferSizeMB>32</ramBufferSizeMB>
71
 
    <maxMergeDocs>2147483647</maxMergeDocs>
72
 
    <maxFieldLength>10000</maxFieldLength>
73
 
    <writeLockTimeout>1000</writeLockTimeout>
74
 
 
75
 
    <!--
76
 
     Expert:
77
 
     The Merge Policy in Lucene controls how merging is handled by Lucene.  The default in 2.3 is the LogByteSizeMergePolicy, previous
78
 
     versions used LogDocMergePolicy.
79
 
 
80
 
     LogByteSizeMergePolicy chooses segments to merge based on their size.  The Lucene 2.2 default, LogDocMergePolicy chose when
81
 
     to merge based on number of documents
82
 
 
83
 
     Other implementations of MergePolicy must have a no-argument constructor
84
 
     -->
85
 
    <mergePolicy class="org.apache.lucene.index.LogByteSizeMergePolicy"/>
86
 
 
87
 
    <!--
88
 
     Expert:
89
 
     The Merge Scheduler in Lucene controls how merges are performed.  The ConcurrentMergeScheduler (Lucene 2.3 default)
90
 
      can perform merges in the background using separate threads.  The SerialMergeScheduler (Lucene 2.2 default) does not.
91
 
     -->
92
 
    <mergeScheduler class="org.apache.lucene.index.ConcurrentMergeScheduler"/>
93
 
    <!-- these are global... can't currently override per index -->
94
 
    <writeLockTimeout>1000</writeLockTimeout>
95
 
 
96
 
    <lockType>single</lockType>
97
 
  </indexDefaults>
98
 
 
99
 
  <mainIndex>
100
 
    <!-- lucene options specific to the main on-disk lucene index -->
101
 
    <useCompoundFile>false</useCompoundFile>
102
 
    <mergeFactor>8</mergeFactor>
103
 
    <!-- for better multi-segment testing, we are using slower
104
 
    indexing properties of maxBufferedDocs=10 and LogDocMergePolicy.
105
 
    -->
106
 
    <maxBufferedDocs>10</maxBufferedDocs>
107
 
    <maxMergeDocs>2147483647</maxMergeDocs>
108
 
    <maxFieldLength>10000</maxFieldLength>
109
 
    <mergePolicy class="org.apache.lucene.index.LogDocMergePolicy"/>
110
 
 
111
 
    <unlockOnStartup>true</unlockOnStartup>
112
 
  </mainIndex>
113
 
 
114
 
  <updateHandler class="solr.DirectUpdateHandler2">
115
 
 
116
 
    <!-- autocommit pending docs if certain criteria are met
117
 
    <autoCommit>
118
 
      <maxDocs>10000</maxDocs>
119
 
      <maxTime>3600000</maxTime>
120
 
    </autoCommit>
121
 
    -->
122
 
    <!-- represents a lower bound on the frequency that commits may
123
 
    occur (in seconds). NOTE: not yet implemented
124
 
 
125
 
    <commitIntervalLowerBound>0</commitIntervalLowerBound>
126
 
    -->
127
 
 
128
 
    <!-- The RunExecutableListener executes an external command.
129
 
         exe - the name of the executable to run
130
 
         dir - dir to use as the current working directory. default="."
131
 
         wait - the calling thread waits until the executable returns. default="true"
132
 
         args - the arguments to pass to the program.  default=nothing
133
 
         env - environment variables to set.  default=nothing
134
 
      -->
135
 
    <!-- A postCommit event is fired after every commit
136
 
    <listener event="postCommit" class="solr.RunExecutableListener">
137
 
      <str name="exe">/var/opt/resin3/__PORT__/scripts/solr/snapshooter</str>
138
 
      <str name="dir">/var/opt/resin3/__PORT__</str>
139
 
      <bool name="wait">true</bool>
140
 
      <arr name="args"> <str>arg1</str> <str>arg2</str> </arr>
141
 
      <arr name="env"> <str>MYVAR=val1</str> </arr>
142
 
    </listener>
143
 
    -->
144
 
 
145
 
 
146
 
  </updateHandler>
147
 
 
148
 
 
149
 
  <query>
150
 
    <!-- Maximum number of clauses in a boolean query... can affect
151
 
        range or wildcard queries that expand to big boolean
152
 
        queries.  An exception is thrown if exceeded.
153
 
    -->
154
 
    <maxBooleanClauses>1024</maxBooleanClauses>
155
 
 
156
 
 
157
 
    <!-- Cache specification for Filters or DocSets - unordered set of *all* documents
158
 
         that match a particular query.
159
 
      -->
160
 
    <filterCache
161
 
      class="solr.search.FastLRUCache"
162
 
      size="512"
163
 
      initialSize="512"
164
 
      autowarmCount="2"/>
165
 
 
166
 
    <queryResultCache
167
 
      class="solr.search.LRUCache"
168
 
      size="512"
169
 
      initialSize="512"
170
 
      autowarmCount="2"/>
171
 
 
172
 
    <documentCache
173
 
      class="solr.search.LRUCache"
174
 
      size="512"
175
 
      initialSize="512"
176
 
      autowarmCount="0"/>
177
 
 
178
 
    <!-- If true, stored fields that are not requested will be loaded lazily.
179
 
    -->
180
 
    <enableLazyFieldLoading>true</enableLazyFieldLoading>
181
 
 
182
 
    <!--
183
 
 
184
 
    <cache name="myUserCache"
185
 
      class="solr.search.LRUCache"
186
 
      size="4096"
187
 
      initialSize="1024"
188
 
      autowarmCount="1024"
189
 
      regenerator="MyRegenerator"
190
 
      />
191
 
    -->
192
 
 
193
 
 
194
 
    <!--
195
 
    <useFilterForSortedQuery>true</useFilterForSortedQuery>
196
 
    -->
197
 
 
198
 
    <queryResultWindowSize>10</queryResultWindowSize>
199
 
 
200
 
    <!-- set maxSize artificially low to exercise both types of sets -->
201
 
    <HashDocSet maxSize="3" loadFactor="0.75"/>
202
 
 
203
 
 
204
 
    <!-- boolToFilterOptimizer converts boolean clauses with zero boost
205
 
         into cached filters if the number of docs selected by the clause exceeds
206
 
         the threshold (represented as a fraction of the total index)
207
 
    -->
208
 
    <boolTofilterOptimizer enabled="false" cacheSize="32" threshold=".05"/>
209
 
 
210
 
 
211
 
    <!-- a newSearcher event is fired whenever a new searcher is being prepared
212
 
         and there is a current searcher handling requests (aka registered). -->
213
 
    <!-- QuerySenderListener takes an array of NamedList and executes a
214
 
         local query request for each NamedList in sequence. -->
215
 
    <!--
216
 
    <listener event="newSearcher" class="solr.QuerySenderListener">
217
 
      <arr name="queries">
218
 
        <lst> <str name="q">solr</str> <str name="start">0</str> <str name="rows">10</str> </lst>
219
 
        <lst> <str name="q">rocks</str> <str name="start">0</str> <str name="rows">10</str> </lst>
220
 
      </arr>
221
 
    </listener>
222
 
    -->
223
 
 
224
 
    <!-- a firstSearcher event is fired whenever a new searcher is being
225
 
         prepared but there is no current registered searcher to handle
226
 
         requests or to gain prewarming data from. -->
227
 
    <!--
228
 
    <listener event="firstSearcher" class="solr.QuerySenderListener">
229
 
      <arr name="queries">
230
 
        <lst> <str name="q">fast_warm</str> <str name="start">0</str> <str name="rows">10</str> </lst>
231
 
      </arr>
232
 
    </listener>
233
 
    -->
234
 
 
235
 
 
236
 
  </query>
237
 
 
238
 
 
239
 
  <!-- An alternate set representation that uses an integer hash to store filters (sets of docids).
240
 
       If the set cardinality <= maxSize elements, then HashDocSet will be used instead of the bitset
241
 
       based HashBitset. -->
242
 
 
243
 
  <!-- requestHandler plugins... incoming queries will be dispatched to the
244
 
     correct handler based on the qt (query type) param matching the
245
 
     name of registered handlers.
246
 
      The "standard" request handler is the default and will be used if qt
247
 
     is not specified in the request.
248
 
  -->
249
 
  <requestHandler name="standard" class="solr.StandardRequestHandler">
250
 
        <bool name="httpCaching">true</bool>
251
 
  </requestHandler>
252
 
  <requestHandler name="dismaxOldStyleDefaults"
253
 
                  class="solr.DisMaxRequestHandler" >
254
 
     <!-- for historic reasons, DisMaxRequestHandler will use all of
255
 
          it's init params as "defaults" if there is no "defaults" list
256
 
          specified
257
 
     -->
258
 
     <str name="q.alt">*:*</str>
259
 
     <float name="tie">0.01</float>
260
 
     <str name="qf">
261
 
        text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
262
 
     </str>
263
 
     <str name="pf">
264
 
        text^0.2 features_t^1.1 subject^1.4 title_stemmed^2.0 title^1.5
265
 
     </str>
266
 
     <str name="bf">
267
 
        ord(weight)^0.5 recip(rord(iind),1,1000,1000)^0.3
268
 
     </str>
269
 
     <str name="mm">
270
 
        3&lt;-1 5&lt;-2 6&lt;90%
271
 
     </str>
272
 
     <int name="ps">100</int>
273
 
  </requestHandler>
274
 
  <requestHandler name="dismax" class="solr.DisMaxRequestHandler" >
275
 
    <lst name="defaults">
276
 
     <str name="q.alt">*:*</str>
277
 
     <float name="tie">0.01</float>
278
 
     <str name="qf">
279
 
        text^0.5 features_t^1.0 subject^1.4 title_stemmed^2.0
280
 
     </str>
281
 
     <str name="pf">
282
 
        text^0.2 features_t^1.1 subject^1.4 title_stemmed^2.0 title^1.5
283
 
     </str>
284
 
     <str name="bf">
285
 
        ord(weight)^0.5 recip(rord(iind),1,1000,1000)^0.3
286
 
     </str>
287
 
     <str name="mm">
288
 
        3&lt;-1 5&lt;-2 6&lt;90%
289
 
     </str>
290
 
     <int name="ps">100</int>
291
 
    </lst>
292
 
  </requestHandler>
293
 
  <requestHandler name="dismaxNoDefaults" class="solr.DisMaxRequestHandler" >
294
 
  </requestHandler>
295
 
  <requestHandler name="old" class="solr.tst.OldRequestHandler" >
296
 
    <int name="myparam">1000</int>
297
 
    <float name="ratio">1.4142135</float>
298
 
    <arr name="myarr"><int>1</int><int>2</int></arr>
299
 
    <str>foo</str>
300
 
  </requestHandler>
301
 
  <requestHandler name="oldagain" class="solr.tst.OldRequestHandler" >
302
 
    <lst name="lst1"> <str name="op">sqrt</str> <int name="val">2</int> </lst>
303
 
    <lst name="lst2"> <str name="op">log</str> <float name="val">10</float> </lst>
304
 
  </requestHandler>
305
 
  <requestHandler name="mock" class="org.apache.solr.core.MockQuerySenderListenerReqHandler"/>
306
 
 
307
 
  <requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" />
308
 
 
309
 
  <requestHandler name="test" class="solr.tst.TestRequestHandler" />
310
 
 
311
 
  <!-- test query parameter defaults -->
312
 
  <requestHandler name="defaults" class="solr.StandardRequestHandler">
313
 
    <lst name="defaults">
314
 
      <int name="rows">4</int>
315
 
      <bool name="hl">true</bool>
316
 
      <str name="hl.fl">text,name,subject,title,whitetok</str>
317
 
    </lst>
318
 
  </requestHandler>
319
 
 
320
 
  <!-- test query parameter defaults -->
321
 
  <requestHandler name="lazy" class="solr.StandardRequestHandler" startup="lazy">
322
 
    <lst name="defaults">
323
 
      <int name="rows">4</int>
324
 
      <bool name="hl">true</bool>
325
 
      <str name="hl.fl">text,name,subject,title,whitetok</str>
326
 
    </lst>
327
 
  </requestHandler>
328
 
 
329
 
  <requestHandler name="/update"     class="solr.XmlUpdateRequestHandler"          />
330
 
  <requestHandler name="/update/csv" class="solr.CSVRequestHandler" startup="lazy">
331
 
        <bool name="httpCaching">false</bool>
332
 
  </requestHandler>
333
 
  <requestHandler name="/update/json" class="solr.JsonUpdateRequestHandler" />
334
 
 
335
 
 
336
 
  <searchComponent name="spellcheck" class="org.apache.solr.handler.component.SpellCheckComponent">
337
 
    <!-- This is slightly different from the field value so we can test dealing with token offset changes -->
338
 
    <str name="queryAnalyzerFieldType">lowerpunctfilt</str>
339
 
 
340
 
    <lst name="spellchecker">
341
 
      <str name="name">default</str>
342
 
      <str name="field">lowerfilt</str>
343
 
      <str name="spellcheckIndexDir">spellchecker1</str>
344
 
      <str name="buildOnCommit">true</str>
345
 
    </lst>
346
 
    <lst name="spellchecker">
347
 
                        <str name="name">multipleFields</str>
348
 
                        <str name="field">lowerfilt1and2</str>
349
 
                        <str name="spellcheckIndexDir">spellcheckerMultipleFields</str>
350
 
                        <str name="buildOnCommit">true</str>
351
 
        </lst>
352
 
    <!-- Example of using different distance measure -->
353
 
    <lst name="spellchecker">
354
 
      <str name="name">jarowinkler</str>
355
 
      <str name="field">lowerfilt</str>
356
 
      <!-- Use a different Distance Measure -->
357
 
      <str name="distanceMeasure">org.apache.lucene.search.spell.JaroWinklerDistance</str>
358
 
      <str name="spellcheckIndexDir">spellchecker2</str>
359
 
 
360
 
    </lst>
361
 
    <lst name="spellchecker">
362
 
      <str name="classname">solr.FileBasedSpellChecker</str>
363
 
      <str name="name">external</str>
364
 
      <str name="sourceLocation">spellings.txt</str>
365
 
      <str name="characterEncoding">UTF-8</str>
366
 
      <str name="spellcheckIndexDir">spellchecker3</str>
367
 
    </lst>
368
 
    <!-- Comparator -->
369
 
    <lst name="spellchecker">
370
 
      <str name="name">freq</str>
371
 
      <str name="field">lowerfilt</str>
372
 
      <str name="spellcheckIndexDir">spellcheckerFreq</str>
373
 
      <!-- comparatorClass be one of:
374
 
        1. score (default)
375
 
        2. freq (Frequency first, then score)
376
 
        3. A fully qualified class name
377
 
       -->
378
 
      <str name="comparatorClass">freq</str>
379
 
      <str name="buildOnCommit">true</str>
380
 
    </lst>
381
 
    <lst name="spellchecker">
382
 
      <str name="name">fqcn</str>
383
 
      <str name="field">lowerfilt</str>
384
 
      <str name="spellcheckIndexDir">spellcheckerFQCN</str>
385
 
      <str name="comparatorClass">org.apache.solr.spelling.SampleComparator</str>
386
 
      <str name="buildOnCommit">true</str>
387
 
    </lst>
388
 
    <lst name="spellchecker">
389
 
      <str name="name">perDict</str>
390
 
      <str name="classname">org.apache.solr.handler.component.DummyCustomParamSpellChecker</str>
391
 
      <str name="field">lowerfilt</str>
392
 
    </lst>
393
 
  </searchComponent>
394
 
 
395
 
  <searchComponent name="termsComp" class="org.apache.solr.handler.component.TermsComponent"/>
396
 
 
397
 
  <requestHandler name="/terms" class="org.apache.solr.handler.component.SearchHandler">
398
 
    <arr name="components">
399
 
      <str>termsComp</str>
400
 
    </arr>
401
 
  </requestHandler>
402
 
  <!--
403
 
  The SpellingQueryConverter to convert raw (CommonParams.Q) queries into tokens.  Uses a simple regular expression
404
 
   to strip off field markup, boosts, ranges, etc. but it is not guaranteed to match an exact parse from the query parser.
405
 
   -->
406
 
  <queryConverter name="queryConverter" class="org.apache.solr.spelling.SpellingQueryConverter"/>
407
 
 
408
 
  <requestHandler name="spellCheckCompRH" class="org.apache.solr.handler.component.SearchHandler">
409
 
    <lst name="defaults">
410
 
      <!-- omp = Only More Popular -->
411
 
      <str name="spellcheck.onlyMorePopular">false</str>
412
 
      <!-- exr = Extended Results -->
413
 
      <str name="spellcheck.extendedResults">false</str>
414
 
      <!--  The number of suggestions to return -->
415
 
      <str name="spellcheck.count">1</str>
416
 
    </lst>
417
 
    <arr name="last-components">
418
 
      <str>spellcheck</str>
419
 
    </arr>
420
 
  </requestHandler>
421
 
  <requestHandler name="spellCheckCompRH1" class="org.apache.solr.handler.component.SearchHandler">
422
 
                        <lst name="defaults">
423
 
                                <str name="defType">dismax</str>
424
 
                                <str name="qf">lowerfilt1^1</str>
425
 
                        </lst>
426
 
                        <arr name="last-components">
427
 
                                <str>spellcheck</str>
428
 
                        </arr>
429
 
 </requestHandler>
430
 
 
431
 
 
432
 
  <searchComponent name="tvComponent" class="org.apache.solr.handler.component.TermVectorComponent"/>
433
 
 
434
 
  <requestHandler name="tvrh" class="org.apache.solr.handler.component.SearchHandler">
435
 
    <lst name="defaults">
436
 
 
437
 
    </lst>
438
 
    <arr name="last-components">
439
 
      <str>tvComponent</str>
440
 
    </arr>
441
 
  </requestHandler>
442
 
  <searchComponent class="solr.HighlightComponent" name="highlight">
443
 
  <highlighting>
444
 
   <!-- Configure the standard fragmenter -->
445
 
   <fragmenter name="gap" class="org.apache.solr.highlight.GapFragmenter" default="true">
446
 
    <lst name="defaults">
447
 
     <int name="hl.fragsize">100</int>
448
 
    </lst>
449
 
   </fragmenter>
450
 
 
451
 
   <fragmenter name="regex" class="org.apache.solr.highlight.RegexFragmenter">
452
 
    <lst name="defaults">
453
 
     <int name="hl.fragsize">70</int>
454
 
    </lst>
455
 
   </fragmenter>
456
 
 
457
 
   <!-- Configure the standard formatter -->
458
 
   <formatter name="html" class="org.apache.solr.highlight.HtmlFormatter" default="true">
459
 
    <lst name="defaults">
460
 
     <str name="hl.simple.pre"><![CDATA[<em>]]></str>
461
 
     <str name="hl.simple.post"><![CDATA[</em>]]></str>
462
 
    </lst>
463
 
   </formatter>
464
 
 
465
 
   <!-- Configure the standard fragListBuilder -->
466
 
   <fragListBuilder name="simple" class="org.apache.solr.highlight.SimpleFragListBuilder" default="true"/>
467
 
 
468
 
   <!-- Configure the standard fragmentsBuilder -->
469
 
   <fragmentsBuilder name="simple" class="org.apache.solr.highlight.SimpleFragmentsBuilder" default="true"/>
470
 
   <fragmentsBuilder name="scoreOrder" class="org.apache.solr.highlight.ScoreOrderFragmentsBuilder"/>
471
 
 
472
 
   <boundaryScanner name="simple" class="solr.highlight.SimpleBoundaryScanner" default="true">
473
 
     <lst name="defaults">
474
 
       <str name="hl.bs.maxScan">10</str>
475
 
       <str name="hl.bs.chars">.,!? &#9;&#10;&#13;</str>
476
 
     </lst>
477
 
   </boundaryScanner>
478
 
 
479
 
   <boundaryScanner name="breakIterator" class="solr.highlight.BreakIteratorBoundaryScanner">
480
 
     <lst name="defaults">
481
 
       <str name="hl.bs.type">WORD</str>
482
 
       <str name="hl.bs.language">en</str>
483
 
       <str name="hl.bs.country">US</str>
484
 
     </lst>
485
 
   </boundaryScanner>
486
 
  </highlighting>
487
 
  </searchComponent>
488
 
 
489
 
 
490
 
  <!-- enable streaming for testing... -->
491
 
  <requestDispatcher handleSelect="true" >
492
 
    <requestParsers enableRemoteStreaming="true" multipartUploadLimitInKB="2048" />
493
 
    <httpCaching lastModifiedFrom="openTime" etagSeed="Solr" never304="false">
494
 
      <cacheControl>max-age=30, public</cacheControl>
495
 
    </httpCaching>
496
 
  </requestDispatcher>
497
 
 
498
 
  <admin>
499
 
    <defaultQuery>solr</defaultQuery>
500
 
    <gettableFiles>solrconfig.xml scheam.xml admin-extra.html</gettableFiles>
501
 
  </admin>
502
 
 
503
 
  <!-- test getting system property -->
504
 
  <propTest attr1="${solr.test.sys.prop1}-$${literal}"
505
 
            attr2="${non.existent.sys.prop:default-from-config}">prefix-${solr.test.sys.prop2}-suffix</propTest>
506
 
 
507
 
  <queryParser name="foo" class="FooQParserPlugin"/>
508
 
 
509
 
  <updateRequestProcessorChain name="dedupe">
510
 
    <processor class="org.apache.solr.update.processor.SignatureUpdateProcessorFactory">
511
 
      <bool name="enabled">false</bool>
512
 
      <bool name="overwriteDupes">true</bool>
513
 
      <str name="fields">v_t,t_field</str>
514
 
      <str name="signatureClass">org.apache.solr.update.processor.TextProfileSignature</str>
515
 
    </processor>
516
 
    <processor class="solr.RunUpdateProcessorFactory" />
517
 
  </updateRequestProcessorChain>
518
 
  <updateRequestProcessorChain name="stored_sig">
519
 
    <!-- this chain is valid even though the signature field is not
520
 
         indexed, because we are not asking for dups to be overwritten
521
 
      -->
522
 
    <processor class="org.apache.solr.update.processor.SignatureUpdateProcessorFactory">
523
 
      <bool name="enabled">true</bool>
524
 
      <str name="signatureField">non_indexed_signature_sS</str>
525
 
      <bool name="overwriteDupes">false</bool>
526
 
      <str name="fields">v_t,t_field</str>
527
 
      <str name="signatureClass">org.apache.solr.update.processor.TextProfileSignature</str>
528
 
    </processor>
529
 
    <processor class="solr.RunUpdateProcessorFactory" />
530
 
  </updateRequestProcessorChain>
531
 
  <updateRequestProcessorChain name="uniq-fields">
532
 
    <processor class="org.apache.solr.update.processor.UniqFieldsUpdateProcessorFactory">
533
 
      <lst name="fields">
534
 
        <str>uniq</str>
535
 
        <str>uniq2</str>
536
 
        <str>uniq3</str>
537
 
      </lst>      
538
 
    </processor>
539
 
    <processor class="solr.RunUpdateProcessorFactory" />
540
 
  </updateRequestProcessorChain>  
541
 
 
542
 
</config>