<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" /><style type="text/css"><!--
#msg dl { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre, #msg p { overflow: auto; background: #ffc; border: 1px #fc0 solid; padding: 6px; }
#msg ul { overflow: auto; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<title>[607] trunk/solr/conf/schema.xml:
  schema change to use plugin and library for normalizing Unicode characters</title>
</head>
<body>

<div id="msg">
<dl>
<dt>Revision</dt> <dd>607</dd>
<dt>Author</dt> <dd>haschart</dd>
<dt>Date</dt> <dd>2008-06-18 11:50:41 -0400 (Wed, 18 Jun 2008)</dd>
</dl>

<h3>Log Message</h3>
<pre>schema change to use plugin and library for normalizing Unicode characters</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunksolrconfschemaxml">trunk/solr/conf/schema.xml</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunksolrconfschemaxml"></a>
<div class="modfile"><h4>Modified: trunk/solr/conf/schema.xml (606 => 607)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/solr/conf/schema.xml        2008-06-18 15:50:00 UTC (rev 606)
+++ trunk/solr/conf/schema.xml        2008-06-18 15:50:41 UTC (rev 607)
</span><span class="lines">@@ -1,135 +1,139 @@
</span><del>-&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;
-&lt;!--
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements.  See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the &quot;License&quot;); you may not use this file except in compliance with
- the License.  You may obtain a copy of the License at
-
-     http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
---&gt;
-
-&lt;!--  
- This is the Solr schema file. This file should be named &quot;schema.xml&quot; and
- should be in the conf directory under the solr home
- (i.e. ./solr/conf/schema.xml by default) 
- or located where the classloader for the Solr webapp can find it.
-
- This example schema is the recommended starting point for users.
- It should be kept correct and concise, usable out-of-the-box.
-
- For more information, on how to customize this file, please see
- http://wiki.apache.org/solr/SchemaXml
---&gt;
-
-&lt;schema name=&quot;solr_int&quot; version=&quot;0.2&quot;&gt;
-  &lt;types&gt;
-    &lt;fieldType name=&quot;string&quot; class=&quot;solr.StrField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;boolean&quot; class=&quot;solr.BoolField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;integer&quot; class=&quot;solr.IntField&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;long&quot; class=&quot;solr.LongField&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;float&quot; class=&quot;solr.FloatField&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;double&quot; class=&quot;solr.DoubleField&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;sint&quot; class=&quot;solr.SortableIntField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;slong&quot; class=&quot;solr.SortableLongField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;sfloat&quot; class=&quot;solr.SortableFloatField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;sdouble&quot; class=&quot;solr.SortableDoubleField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;date&quot; class=&quot;solr.DateField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
-    &lt;fieldType name=&quot;text_ws&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
-      &lt;analyzer&gt;
-        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
-      &lt;/analyzer&gt;
-    &lt;/fieldType&gt;
-
-    &lt;fieldType name=&quot;text&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
-      &lt;analyzer type=&quot;index&quot;&gt;
-        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
-        &lt;filter class=&quot;solr.WordDelimiterFilterFactory&quot; generateWordParts=&quot;1&quot; generateNumberParts=&quot;1&quot; catenateWords=&quot;1&quot; catenateNumbers=&quot;1&quot; catenateAll=&quot;0&quot;/&gt;
-        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.EnglishPorterFilterFactory&quot; protected=&quot;protwords.txt&quot;/&gt;
-        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
-      &lt;/analyzer&gt;
-      &lt;analyzer type=&quot;query&quot;&gt;
-        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.SynonymFilterFactory&quot; synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;true&quot;/&gt;
-        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
-        &lt;filter class=&quot;solr.WordDelimiterFilterFactory&quot; generateWordParts=&quot;1&quot; generateNumberParts=&quot;1&quot; catenateWords=&quot;0&quot; catenateNumbers=&quot;0&quot; catenateAll=&quot;0&quot;/&gt;
-        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.EnglishPorterFilterFactory&quot; protected=&quot;protwords.txt&quot;/&gt;
-        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
-      &lt;/analyzer&gt;
-    &lt;/fieldType&gt;
-
-    &lt;fieldType name=&quot;textTight&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot; &gt;
-      &lt;analyzer&gt;
-        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.SynonymFilterFactory&quot; synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;false&quot;/&gt;
-        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
-        &lt;filter class=&quot;solr.WordDelimiterFilterFactory&quot; generateWordParts=&quot;0&quot; generateNumberParts=&quot;0&quot; catenateWords=&quot;1&quot; catenateNumbers=&quot;1&quot; catenateAll=&quot;0&quot;/&gt;
-        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.EnglishPorterFilterFactory&quot; protected=&quot;protwords.txt&quot;/&gt;
-        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
-      &lt;/analyzer&gt;
-    &lt;/fieldType&gt;
-
-    &lt;fieldType name=&quot;alphaOnlySort&quot; class=&quot;solr.TextField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;true&quot;&gt;
-      &lt;analyzer&gt;
-        &lt;tokenizer class=&quot;solr.KeywordTokenizerFactory&quot;/&gt;
-        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot; /&gt;
-        &lt;filter class=&quot;solr.TrimFilterFactory&quot; /&gt;
-        &lt;filter class=&quot;solr.PatternReplaceFilterFactory&quot; pattern=&quot;([^a-z])&quot; replacement=&quot;&quot; replace=&quot;all&quot;/&gt;
-      &lt;/analyzer&gt;
-    &lt;/fieldType&gt;
-
-    &lt;fieldtype name=&quot;text_zh&quot; class=&quot;solr.TextField&quot;&gt;
-      &lt;analyzer class=&quot;org.apache.lucene.analysis.cn.ChineseAnalyzer&quot;/&gt;
-    &lt;/fieldtype&gt;
-        
-        &lt;fieldType name=&quot;spellText&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
-                &lt;analyzer type=&quot;index&quot;&gt;
-                        &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/&gt;
-                        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
-                        &lt;filter class=&quot;solr.StandardFilterFactory&quot;/&gt;
-                        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
-                &lt;/analyzer&gt;
-                &lt;analyzer type=&quot;query&quot;&gt;
-                        &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/&gt;
-                        &lt;filter class=&quot;solr.SynonymFilterFactory&quot; synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;true&quot;/&gt;
-                        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
-                        &lt;filter class=&quot;solr.StandardFilterFactory&quot;/&gt;
-                        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
-                &lt;/analyzer&gt;
-        &lt;/fieldType&gt;
-        
- &lt;/types&gt;
-
-
- &lt;fields&gt;
-        &lt;field name=&quot;id&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; /&gt; 
-        &lt;field name=&quot;text&quot; type=&quot;text&quot; indexed=&quot;true&quot; stored=&quot;false&quot; multiValued=&quot;true&quot;/&gt;
-        &lt;field name=&quot;word&quot; type=&quot;spellText&quot; indexed=&quot;true&quot; stored=&quot;true&quot; /&gt;
-        &lt;!-- Here, default is used to create a &quot;timestamp&quot; field indicating When each document was indexed. --&gt;
-        &lt;field name=&quot;timestamp&quot; type=&quot;date&quot; indexed=&quot;true&quot; stored=&quot;true&quot; default=&quot;NOW&quot; multiValued=&quot;false&quot;/&gt;
-        &lt;dynamicField name=&quot;*_text&quot; type=&quot;text&quot; indexed=&quot;true&quot; stored=&quot;false&quot; multiValued=&quot;true&quot;/&gt;
-        &lt;dynamicField name=&quot;*_facet&quot; type=&quot;string&quot; indexed=&quot;true&quot;  stored=&quot;true&quot; multiValued=&quot;true&quot; omitNorms=&quot;true&quot; /&gt;
-        &lt;dynamicField name=&quot;*_display&quot; type=&quot;text&quot; indexed=&quot;false&quot; stored=&quot;true&quot; multiValued=&quot;true&quot;/&gt;
-        &lt;dynamicField name=&quot;*_multisort_i&quot; type=&quot;sint&quot; indexed=&quot;true&quot;  stored=&quot;false&quot; multiValued=&quot;true&quot;/&gt;
- &lt;/fields&gt;
-
-        &lt;uniqueKey&gt;id&lt;/uniqueKey&gt;
-        &lt;defaultSearchField&gt;text&lt;/defaultSearchField&gt;
-        &lt;copyField source=&quot;*_text&quot; dest=&quot;text&quot;/&gt;
-        &lt;copyField source=&quot;*_text&quot; dest=&quot;word&quot;/&gt;
-        &lt;copyField source=&quot;*_facet&quot; dest=&quot;word&quot;/&gt;
-        &lt;copyField source=&quot;*_facet&quot; dest=&quot;text&quot;/&gt;
-        &lt;solrQueryParser defaultOperator=&quot;AND&quot;/&gt;
-
</del><ins>+&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;
+&lt;!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements.  See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the &quot;License&quot;); you may not use this file except in compliance with
+ the License.  You may obtain a copy of the License at
+
+     http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an &quot;AS IS&quot; BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+--&gt;
+
+&lt;!--  
+ This is the Solr schema file. This file should be named &quot;schema.xml&quot; and
+ should be in the conf directory under the solr home
+ (i.e. ./solr/conf/schema.xml by default) 
+ or located where the classloader for the Solr webapp can find it.
+
+ This example schema is the recommended starting point for users.
+ It should be kept correct and concise, usable out-of-the-box.
+
+ For more information, on how to customize this file, please see
+ http://wiki.apache.org/solr/SchemaXml
+--&gt;
+
+&lt;schema name=&quot;solr_int&quot; version=&quot;0.2&quot;&gt;
+  &lt;types&gt;
+    &lt;fieldType name=&quot;string&quot; class=&quot;solr.StrField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;boolean&quot; class=&quot;solr.BoolField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;integer&quot; class=&quot;solr.IntField&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;long&quot; class=&quot;solr.LongField&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;float&quot; class=&quot;solr.FloatField&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;double&quot; class=&quot;solr.DoubleField&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;sint&quot; class=&quot;solr.SortableIntField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;slong&quot; class=&quot;solr.SortableLongField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;sfloat&quot; class=&quot;solr.SortableFloatField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;sdouble&quot; class=&quot;solr.SortableDoubleField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;date&quot; class=&quot;solr.DateField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;false&quot;/&gt;
+    &lt;fieldType name=&quot;text_ws&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
+      &lt;analyzer&gt;
+        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
+      &lt;/analyzer&gt;
+    &lt;/fieldType&gt;
+
+    &lt;fieldType name=&quot;text&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
+      &lt;analyzer type=&quot;index&quot;&gt;
+        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
+        &lt;filter class=&quot;schema.UnicodeNormalizationFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.ISOLatin1AccentFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
+        &lt;filter class=&quot;solr.WordDelimiterFilterFactory&quot; generateWordParts=&quot;1&quot; generateNumberParts=&quot;1&quot; catenateWords=&quot;1&quot; catenateNumbers=&quot;1&quot; catenateAll=&quot;0&quot;/&gt;
+        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.EnglishPorterFilterFactory&quot; protected=&quot;protwords.txt&quot;/&gt;
+        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
+      &lt;/analyzer&gt;
+      &lt;analyzer type=&quot;query&quot;&gt;
+        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
+        &lt;filter class=&quot;schema.UnicodeNormalizationFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.ISOLatin1AccentFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.SynonymFilterFactory&quot; synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;true&quot;/&gt;
+        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
+        &lt;filter class=&quot;solr.WordDelimiterFilterFactory&quot; generateWordParts=&quot;1&quot; generateNumberParts=&quot;1&quot; catenateWords=&quot;0&quot; catenateNumbers=&quot;0&quot; catenateAll=&quot;0&quot;/&gt;
+        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.EnglishPorterFilterFactory&quot; protected=&quot;protwords.txt&quot;/&gt;
+        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
+      &lt;/analyzer&gt;
+    &lt;/fieldType&gt;
+
+    &lt;fieldType name=&quot;textTight&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot; &gt;
+      &lt;analyzer&gt;
+        &lt;tokenizer class=&quot;solr.WhitespaceTokenizerFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.SynonymFilterFactory&quot; synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;false&quot;/&gt;
+        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
+        &lt;filter class=&quot;solr.WordDelimiterFilterFactory&quot; generateWordParts=&quot;0&quot; generateNumberParts=&quot;0&quot; catenateWords=&quot;1&quot; catenateNumbers=&quot;1&quot; catenateAll=&quot;0&quot;/&gt;
+        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.EnglishPorterFilterFactory&quot; protected=&quot;protwords.txt&quot;/&gt;
+        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
+      &lt;/analyzer&gt;
+    &lt;/fieldType&gt;
+
+    &lt;fieldType name=&quot;alphaOnlySort&quot; class=&quot;solr.TextField&quot; sortMissingLast=&quot;true&quot; omitNorms=&quot;true&quot;&gt;
+      &lt;analyzer&gt;
+        &lt;tokenizer class=&quot;solr.KeywordTokenizerFactory&quot;/&gt;
+        &lt;filter class=&quot;solr.LowerCaseFilterFactory&quot; /&gt;
+        &lt;filter class=&quot;solr.TrimFilterFactory&quot; /&gt;
+        &lt;filter class=&quot;solr.PatternReplaceFilterFactory&quot; pattern=&quot;([^a-z])&quot; replacement=&quot;&quot; replace=&quot;all&quot;/&gt;
+      &lt;/analyzer&gt;
+    &lt;/fieldType&gt;
+
+    &lt;fieldtype name=&quot;text_zh&quot; class=&quot;solr.TextField&quot;&gt;
+      &lt;analyzer class=&quot;org.apache.lucene.analysis.cn.ChineseAnalyzer&quot;/&gt;
+    &lt;/fieldtype&gt;
+        
+        &lt;fieldType name=&quot;spellText&quot; class=&quot;solr.TextField&quot; positionIncrementGap=&quot;100&quot;&gt;
+                &lt;analyzer type=&quot;index&quot;&gt;
+                        &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/&gt;
+                        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
+                        &lt;filter class=&quot;solr.StandardFilterFactory&quot;/&gt;
+                        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
+                &lt;/analyzer&gt;
+                &lt;analyzer type=&quot;query&quot;&gt;
+                        &lt;tokenizer class=&quot;solr.StandardTokenizerFactory&quot;/&gt;
+                        &lt;filter class=&quot;solr.SynonymFilterFactory&quot; synonyms=&quot;synonyms.txt&quot; ignoreCase=&quot;true&quot; expand=&quot;true&quot;/&gt;
+                        &lt;filter class=&quot;solr.StopFilterFactory&quot; ignoreCase=&quot;true&quot; words=&quot;stopwords.txt&quot;/&gt;
+                        &lt;filter class=&quot;solr.StandardFilterFactory&quot;/&gt;
+                        &lt;filter class=&quot;solr.RemoveDuplicatesTokenFilterFactory&quot;/&gt;
+                &lt;/analyzer&gt;
+        &lt;/fieldType&gt;
+        
+ &lt;/types&gt;
+
+
+ &lt;fields&gt;
+        &lt;field name=&quot;id&quot; type=&quot;string&quot; indexed=&quot;true&quot; stored=&quot;true&quot; required=&quot;true&quot; /&gt; 
+        &lt;field name=&quot;text&quot; type=&quot;text&quot; indexed=&quot;true&quot; stored=&quot;false&quot; multiValued=&quot;true&quot;/&gt;
+        &lt;field name=&quot;word&quot; type=&quot;spellText&quot; indexed=&quot;true&quot; stored=&quot;true&quot; /&gt;
+        &lt;!-- Here, default is used to create a &quot;timestamp&quot; field indicating When each document was indexed. --&gt;
+        &lt;field name=&quot;timestamp&quot; type=&quot;date&quot; indexed=&quot;true&quot; stored=&quot;true&quot; default=&quot;NOW&quot; multiValued=&quot;false&quot;/&gt;
+        &lt;dynamicField name=&quot;*_text&quot; type=&quot;text&quot; indexed=&quot;true&quot; stored=&quot;false&quot; multiValued=&quot;true&quot;/&gt;
+        &lt;dynamicField name=&quot;*_facet&quot; type=&quot;string&quot; indexed=&quot;true&quot;  stored=&quot;true&quot; multiValued=&quot;true&quot; omitNorms=&quot;true&quot; /&gt;
+        &lt;dynamicField name=&quot;*_display&quot; type=&quot;text&quot; indexed=&quot;false&quot; stored=&quot;true&quot; multiValued=&quot;true&quot;/&gt;
+        &lt;dynamicField name=&quot;*_multisort_i&quot; type=&quot;sint&quot; indexed=&quot;true&quot;  stored=&quot;false&quot; multiValued=&quot;true&quot;/&gt;
+ &lt;/fields&gt;
+
+        &lt;uniqueKey&gt;id&lt;/uniqueKey&gt;
+        &lt;defaultSearchField&gt;text&lt;/defaultSearchField&gt;
+        &lt;copyField source=&quot;*_text&quot; dest=&quot;text&quot;/&gt;
+        &lt;copyField source=&quot;*_text&quot; dest=&quot;word&quot;/&gt;
+        &lt;copyField source=&quot;*_facet&quot; dest=&quot;word&quot;/&gt;
+        &lt;copyField source=&quot;*_facet&quot; dest=&quot;text&quot;/&gt;
+        &lt;solrQueryParser defaultOperator=&quot;AND&quot;/&gt;
+
</ins><span class="cx"> &lt;/schema&gt;
</span><span class="cx">\ No newline at end of file
</span></span></pre>
</div>
</div>

</body>
</html>