1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75
|
<?xml version="1.0" encoding="UTF-8"?>
<schema name="dovecot" version="2.1">
<uniqueKey>id</uniqueKey>
<fieldType name="string" class="solr.StrField" omitNorms="true" sortMissingLast="true"/>
<fieldType name="long" class="solr.LongPointField" positionIncrementGap="0"/>
<fieldType name="text" class="solr.TextField" autoGeneratePhraseQueries="true" positionIncrementGap="100">
<analyzer type="index">
<!-- Use unicode aware tokenizer, see
https://solr.apache.org/guide/7_7/tokenizers.html#icu-tokenizer
-->
<tokenizer class="solr.ICUTokenizerFactory"/>
<!-- Unicode aware case folding to normalize input, see
https://solr.apache.org/guide/7_7/filter-descriptions.html#icu-folding-filter
-->
<filter class="solr.ICUFoldingFilterFactory"/>
<!-- Protect protected words from being modified by stemmers. Edit protwords.txt
to customize -->
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<!-- Split tokens from word delimiters -->
<filter class="solr.WordDelimiterGraphFilterFactory" catenateNumbers="1"
generateNumberParts="1" splitOnCaseChange="1" generateWordParts="1"
splitOnNumerics="1" catenateAll="1" catenateWords="1"/>
<!-- Porter is optimized filter for english, if you want other languages
use SnowballPorterFilter here, see https://solr.apache.org/guide/7_6/filter-descriptions.html
<filter class="solr.SnowballPorterFilterFactory" language="French"/>
-->
<filter class="solr.PorterStemFilterFactory"/>
<!-- Map synonyms, use synonyms.txt to customize -->
<filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true"
synonyms="synonyms.txt"/>
<!-- Remove stop words, customize with stopwords.txt, usually solr ships
stopword catalog for multiple languages, so you can choose from there. -->
<filter class="solr.StopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
<!-- Flatten the graph so it can be consumed by indexer -->
<filter class="solr.FlattenGraphFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.ICUTokenizerFactory"/>
<filter class="solr.ICUFoldingFilterFactory"/>
<filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>
<filter class="solr.WordDelimiterGraphFilterFactory" catenateNumbers="1"
generateNumberParts="1" splitOnCaseChange="1" generateWordParts="1"
splitOnNumerics="1" catenateAll="1" catenateWords="1"/>
<!-- See above for comment on Porter -->
<filter class="solr.PorterStemFilterFactory"/>
<filter class="solr.SynonymGraphFilterFactory" expand="true" ignoreCase="true" synonyms="synonyms.txt"/>
<!-- Differs from stop word filter a bit,
see https://solr.apache.org/guide/7_7/filter-descriptions.html#synonym-graph-filter
-->
<filter class="solr.SuggestStopFilterFactory" words="stopwords.txt" ignoreCase="true"/>
</analyzer>
</fieldType>
<field name="id" type="string" indexed="true" required="true" stored="true"/>
<field name="uid" type="long" indexed="true" required="true" stored="true"/>
<field name="box" type="string" indexed="true" required="true" stored="true"/>
<field name="user" type="string" indexed="true" required="true" stored="true"/>
<field name="hdr" type="text" indexed="true" stored="false"/>
<field name="body" type="text" indexed="true" stored="false"/>
<field name="from" type="text" indexed="true" stored="false"/>
<field name="to" type="text" indexed="true" stored="false"/>
<field name="cc" type="text" indexed="true" stored="false"/>
<field name="bcc" type="text" indexed="true" stored="false"/>
<field name="subject" type="text" indexed="true" stored="false"/>
<!-- Used by Solr internally: -->
<field name="_version_" type="long" indexed="true" stored="true"/>
<uniqueKey>id</uniqueKey>
</schema>
|