Skip to content

Instantly share code, notes, and snippets.

@perandre
Created April 21, 2015 09:36
Show Gist options
  • Save perandre/3acbf789e81f473e9cc0 to your computer and use it in GitHub Desktop.
Save perandre/3acbf789e81f473e9cc0 to your computer and use it in GitHub Desktop.
Schema
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="newsfront" version="1.3">
<types>
<fieldType name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
<fieldtype name="binary" class="solr.BinaryField"/>
<fieldType name="integer" class="solr.TrieIntField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="float" class="solr.TrieFloatField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="double" class="solr.TrieDoubleField" precisionStep="0" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="sint" class="solr.TrieIntField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="slong" class="solr.TrieFloatField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="sfloat" class="solr.TrieLongField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="sdouble" class="solr.TrieDoubleField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="tint" class="solr.TrieIntField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="tfloat" class="solr.TrieFloatField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="tlong" class="solr.TrieLongField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="tdouble" class="solr.TrieDoubleField" precisionStep="8" omitNorms="true" positionIncrementGap="0"/>
<fieldType name="pfloat" class="solr.FloatField" omitNorms="true"/>
<fieldType name="file" keyField="id" defVal="1" stored="false" indexed="false" class="solr.ExternalFileField" valType="pfloat"/>
<fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="tdate" class="solr.TrieDateField" omitNorms="true" precisionStep="6" positionIncrementGap="0"/>
<fieldType name="text_ws" class="solr.TextField" omitNorms="true" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
protected="protwords.txt"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="1"
preserveOriginal="1"/>
<filter class="solr.LengthFilterFactory" min="2" max="100" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
<analyzer type="query">
<charFilter class="solr.MappingCharFilterFactory" mapping="mapping-ISOLatin1Accent.txt"/>
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
protected="protwords.txt"
generateWordParts="1"
generateNumberParts="1"
catenateWords="0"
catenateNumbers="0"
catenateAll="0"
splitOnCaseChange="1"
preserveOriginal="1"/>
<filter class="solr.LengthFilterFactory" min="2" max="100" />
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
<filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="text_und" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />
<filter class="solr.WordDelimiterFilterFactory"
protected="protwords.txt"
generateWordParts="1"
generateNumberParts="1"
catenateWords="1"
catenateNumbers="1"
catenateAll="0"
splitOnCaseChange="0"/>
<filter class="solr.LengthFilterFactory" min="2" max="100" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
<filter class="solr.StopFilterFactory"
ignoreCase="true"
words="stopwords.txt"
enablePositionIncrements="true"
/>
<filter class="solr.WordDelimiterFilterFactory"
protected="protwords.txt"
generateWordParts="1"
generateNumberParts="1"
catenateWords="0"
catenateNumbers="0"
catenateAll="0"
splitOnCaseChange="0"/>
<filter class="solr.LengthFilterFactory" min="2" max="100" />
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="edge_n2_kw_text" class="solr.TextField" omitNorms="true" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
<filter class="solr.EdgeNGramFilterFactory" minGramSize="2" maxGramSize="25" />
</analyzer>
<analyzer type="query">
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
<fieldType name="textSpell" class="solr.TextField" positionIncrementGap="100">
<analyzer>
<tokenizer class="solr.StandardTokenizerFactory" />
<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt"/>
<filter class="solr.LengthFilterFactory" min="4" max="20" />
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.RemoveDuplicatesTokenFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="sortString" class="solr.TextField" sortMissingLast="true" omitNorms="true">
<analyzer>
<tokenizer class="solr.KeywordTokenizerFactory"/>
<filter class="solr.LowerCaseFilterFactory" />
<filter class="solr.TrimFilterFactory" />
</analyzer>
</fieldType>
<fieldType name="rand" class="solr.RandomSortField" indexed="true" />
<fieldtype name="ignored" stored="false" indexed="false" class="solr.StrField" />
<fieldType name="point" class="solr.PointType" dimension="2" subFieldType="tdouble"/>
<fieldType name="location" class="solr.LatLonType" subFieldType="tdouble"/>
<fieldtype name="geohash" class="solr.GeoHashField"/>
</types>
<!-- Following is a dynamic way to include other types, added by other contrib modules -->
<xi:include href="schema_extra_types.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback></xi:fallback>
</xi:include>
<fields>
<field name="id" type="string" indexed="true" stored="true" required="true" />
<!-- entity, bundle, path -->
<field name="entity_id" type="long" indexed="true" stored="true" />
<field name="entity_type" type="string" indexed="true" stored="true" />
<field name="bundle" type="string" indexed="true" stored="true" />
<field name="bundle_name" type="string" indexed="false" stored="true" />
<field name="path" type="string" indexed="false" stored="true" />
<field name="path_alias" type="string" indexed="true" stored="true" />
<!-- Title, Content -->
<field name="title" type="text_ws" indexed="true" stored="true" multiValued="false"/>
<!-- <field name="label" type="string" indexed="false" stored="false" />
<copyField source="label" dest="title" /> -->
<field name="long_title" type="string" indexed="false" stored="true" />
<field name="short_title" type="string" indexed="false" stored="true" />
<field name="content" type="text" indexed="true" stored="true" />
<field name="content_html" type="string" indexed="false" stored="true" />
<!-- Teaser, Tags -->
<field name="teaser" type="string" indexed="false" stored="true" />
<field name="teaser_style" type="string" indexed="false" stored="true" />
<field name="intro" type="string" indexed="false" stored="true" />
<field name="tags" type="string" indexed="true" stored="true" multiValued="true" />
<field name="tags_meta" type="string" indexed="false" stored="true" />
<field name="message" type="string" indexed="false" stored="true" />
<field name="metatags" type="string" indexed="false" stored="true" />
<!-- Author, Section, Edition -->
<field name="authors" type="string" indexed="true" stored="true" multiValued="true" />
<!-- field name="tos_name" type="string" indexed="false" stored="false" />
<copyField source="tos_name" dest="authors" / -->
<field name="authors_meta" type="string" indexed="false" stored="true" />
<field name="section" type="string" indexed="true" stored="true" multiValued="true" />
<field name="section_meta" type="string" indexed="false" stored="true" />
<field name="edition_meta" type="string" indexed="false" stored="true" />
<!-- New media fields -->
<field name="media" type="string" indexed="false" stored="true" />
<field name="video" type="string" indexed="false" stored="true" />
<field name="gallery" type="string" indexed="false" stored="true" />
<!-- Image, Gallery, Facts box, Related -->
<field name="image" type="string" indexed="false" stored="true" />
<field name="image_caption" type="string" indexed="false" stored="true" />
<field name="image_gallery" type="string" indexed="false" stored="true" multiValued="true" />
<field name="image_hero" type="string" indexed="false" stored="true" />
<field name="image_main" type="string" indexed="false" stored="true" />
<field name="image_portrait" type="string" indexed="false" stored="true" />
<field name="image_landscape" type="string" indexed="false" stored="true" />
<field name="facts_box" type="string" indexed="false" stored="true" />
<field name="facts_title" type="string" indexed="false" stored="true" />
<field name="facts_body" type="string" indexed="false" stored="true" />
<field name="related" type="long" indexed="false" stored="true" multiValued="true" />
<field name="related_meta" type="string" indexed="false" stored="true" />
<!-- Flags: Status, Sticky, Promote -->
<field name="status" type="boolean" indexed="true" stored="true" />
<!-- <field name="bs_status" type="boolean" indexed="false" stored="false" />
<copyField source="bs_status" dest="status" /> -->
<field name="sticky" type="boolean" indexed="true" stored="true" />
<!-- <field name="bs_sticky" type="boolean" indexed="false" stored="false" />
<copyField source="bs_sticky" dest="sticky" /> -->
<field name="promote" type="boolean" indexed="true" stored="true" />
<!-- <field name="bs_promote" type="boolean" indexed="false" stored="false" />
<copyField source="bs_promote" dest="promote" /> -->
<!-- Render, Print, Premium -->
<field name="premium" type="boolean" indexed="true" stored="true" />
<!-- <field name="bs_field_article_pub_premium" type="boolean" indexed="false" stored="false" />
<copyField source="bs_field_article_pub_premium" dest="premium" /> -->
<field name="freemium" type="boolean" indexed="true" stored="true" />
<field name="render" type="boolean" indexed="true" stored="true" />
<!-- <field name="bs_field_article_pub_render" type="boolean" indexed="false" stored="false" />
<copyField source="bs_field_article_pub_render" dest="render" /> -->
<field name="print" type="boolean" indexed="true" stored="true" />
<!-- <field name="bs_field_article_pub_print" type="boolean" indexed="false" stored="false" />
<copyField source="bs_field_article_pub_print" dest="print" /> -->
<!-- Dates -->
<field name="created" type="tdate" indexed="true" stored="true" />
<!-- <field name="ds_created" type="tdate" indexed="false" stored="false" />
<copyField source="ds_created" dest="created" /> -->
<field name="changed" type="tdate" indexed="true" stored="true" />
<!-- <field name="ds_changed" type="tdate" indexed="false" stored="false" />
<copyField source="ds_changed" dest="changed" /> -->
<field name="published" type="tdate" indexed="true" stored="true" />
<!-- <field name="dm_field_article_pub_date" type="tdate" indexed="false" stored="false" />
<copyField source="dm_field_article_pub_date" dest="published" /> -->
<!-- Extra Fields -->
<field name="reviews" type="string" indexed="false" stored="true" />
<!-- i18n -->
<field name="language" type="string" indexed="true" stored="true" multiValued="false" />
<field name="translations" type="string" indexed="false" stored="true" multiValued="false" />
<!-- Statistics -->
<field name="daily_score" type="sint" indexed="true" stored="true" multiValued="false" />
<field name="weekly_score" type="sint" indexed="true" stored="true" multiValued="false" />
<field name="monthly_score" type="sint" indexed="true" stored="true" multiValued="false" />
<field name="stats_timestamp" type="tdate" indexed="true" stored="true" multiValued="false" />
<!-- Required by solr4 -->
<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/>
<!-- Default search field -->
<field name="all_text" type="text" indexed="true" stored="false" multiValued="true" />
<copyField source="title" dest="all_text" />
<copyField source="content" dest="all_text" />
<copyField source="authors" dest="all_text" />
<copyField source="bundle" dest="all_text" />
<copyField source="section" dest="all_text" />
<copyField source="tags" dest="all_text" />
<!-- Ignore the rest -->
<dynamicField name="*" type="ignored" multiValued="true" />
</fields>
<!-- Following is a dynamic way to include other fields, added by other contrib modules -->
<xi:include href="schema_extra_fields.xml" xmlns:xi="http://www.w3.org/2001/XInclude">
<xi:fallback></xi:fallback>
</xi:include>
<!-- Field to use to determine and enforce document uniqueness.
Unless this field is marked with required="false", it will be a required field
-->
<uniqueKey>id</uniqueKey>
<!-- field for the QueryParser to use when an explicit fieldname is absent -->
<defaultSearchField>all_text</defaultSearchField>
<!-- SolrQueryParser configuration: defaultOperator="AND|OR" -->
<solrQueryParser defaultOperator="OR"/>
</schema>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment