schema.xml 2.32 KB
<schema name="publisher" version="1.6"><!-- Version 1.6 depuis Solr 5.5, encore valide en 6.6.0 -->
    <fieldType name="int" class="solr.TrieIntField"/>
    <fieldType name="long" class="solr.TrieLongField"/>
    <fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true" />
<!-- TEST
    <fieldType name="booleans" class="solr.BoolField" sortMissingLast="true"/>
    <fieldType name="tdates" class="solr.TrieDateField" docValues="true" precisionStep="6" positionIncrementGap="0"/>
    <fieldType name="tlongs" class="solr.TrieLongField" docValues="true" precisionStep="8" positionIncrementGap="0"/>
    <fieldType name="tdoubles" class="solr.TrieDoubleField" docValues="true" precisionStep="8" positionIncrementGap="0"/>
    -->
    <fieldType name="ICUtext" class="solr.TextField">
	    <analyzer type="index">
            <charFilter class="solr.HTMLStripCharFilterFactory"/>
            <tokenizer class="solr.ICUTokenizerFactory"/>
            <filter class="solr.ICUFoldingFilterFactory"/>
        </analyzer>
        <analyzer type="query">
            <tokenizer class="solr.ICUTokenizerFactory"/>
            <filter class="solr.ICUFoldingFilterFactory"/>
        </analyzer>
    </fieldType>
    <!-- En fait, la collation ne sert que pour des tris sur les requêtes avancées. On peut créer des champs spécifiques
     pour le tri. Je pense que ceci sort du cadre à cette étape du projet.  -->
<!-- Collation Unicode difficile à faire fonctionner
    <fieldType name="textICUC" class="solr.ICUCollationField" locale="fr"/>
-->
<!-- CollationField ne supporte pas un analyzer
    <fieldType name="textColl" class="solr.CollationField" language="fr"/>
-->

    <field name="publisherName" type="ICUtext" indexed="true" stored="true" multiValued="false" required="true"/>
    <field name="publisherHistory" type="ICUtext" indexed="true" stored="true" multiValued="false" required="false"/>
    <field name="publisherId" type="int" indexed="true" multiValued="false" required="true"/>
    <field name="_version_" type="long" indexed="true" multiValued="false" required="true"/>
    <field name="_text_" type="ICUtext" indexed="true" multiValued="true" required="true"/>

    <uniqueKey>publisherId</uniqueKey>

    <copyField source="publisherName" dest="_text_" />
    <copyField source="publisherHistory" dest="_text_" />
</schema>