1. <?xml version="1.0" ?>
  2. <schema name="dblp" version="1.5">
  3.     <types>
  4.         <fieldType name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true" />
  5.  
  6.         <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true" omitNorms="true"/>
  7.         <fieldType name="integer" class="solr.IntField" omitNorms="true"/>
  8.         <fieldType name="int" class="solr.IntField" omitNorms="true"/>
  9.         <fieldType name="long" class="solr.LongField" omitNorms="true"/>
  10.         <fieldType name="float" class="solr.FloatField" omitNorms="true"/>
  11.         <fieldType name="double" class="solr.DoubleField" omitNorms="true"/>
  12.  
  13.         <fieldType name="sint" class="solr.SortableIntField" sortMissingLast="true" omitNorms="true"/>
  14.         <fieldType name="slong" class="solr.SortableLongField" sortMissingLast="true" omitNorms="true"/>
  15.         <fieldType name="sfloat" class="solr.SortableFloatField" sortMissingLast="true" omitNorms="true"/>
  16.         <fieldType name="sdouble" class="solr.SortableDoubleField" sortMissingLast="true" omitNorms="true"/>
  17.         <fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true"/>
  18.        
  19.         <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  20.             <analyzer type="index">
  21.                 <charFilter class="solr.HTMLStripCharFilterFactory"/>
  22.                 <tokenizer class="solr.StandardTokenizerFactory"/>
  23.                 <filter class="solr.ASCIIFoldingFilterFactory"/>
  24.                 <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> -->
  25.                 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1" preserveOriginal="1"/>
  26.                 <filter class="solr.LowerCaseFilterFactory"/>
  27.                 <!-- <filter class="solr.LengthFilterFactory" min="2" max="70"/> -->
  28.                 <filter class="solr.EnglishPorterFilterFactory"/>
  29.                 <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  30.             </analyzer>
  31.             <analyzer type="query">
  32.                 <tokenizer class="solr.StandardTokenizerFactory"/>
  33.                 <filter class="solr.ASCIIFoldingFilterFactory"/>
  34.                 <!-- <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true"/> -->
  35.                 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1" preserveOriginal="1"/>
  36.                 <filter class="solr.LowerCaseFilterFactory"/>
  37.                 <filter class="solr.EnglishPorterFilterFactory"/>
  38.                 <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  39.             </analyzer>
  40.         </fieldType>
  41.        
  42.         <!-- Don't analyze that much, just tokenize. Better suited for names. -->
  43.         <fieldType name="textName" class="solr.TextField" positionIncrementGap="100">
  44.             <analyzer type="index">
  45.                 <charFilter class="solr.HTMLStripCharFilterFactory"/>
  46.                 <tokenizer class="solr.StandardTokenizerFactory"/>
  47.                 <filter class="solr.ASCIIFoldingFilterFactory"/>
  48.                 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="1" splitOnCaseChange="1"/>
  49.                 <filter class="solr.LowerCaseFilterFactory"/>
  50.             </analyzer>
  51.             <analyzer type="query">
  52.                 <tokenizer class="solr.StandardTokenizerFactory"/>
  53.                 <filter class="solr.ASCIIFoldingFilterFactory"/>
  54.                 <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
  55.                 <filter class="solr.LowerCaseFilterFactory"/>
  56.             </analyzer>
  57.         </fieldType>
  58.     </types>
  59.  
  60.     <fields>  
  61.         <field name="key"      type="string"   indexed="true"  stored="true"  multiValued="false" required="true"/>
  62.         <field name="doctype"   type="string"   indexed="true" stored="true"    multiValued="false" required="true" />
  63.         <field name="mdate"    type="date"   indexed="true"  stored="true"  multiValued="false" required="true"/>
  64.         <field name="author"    type="textName"   indexed="true"  stored="true"  multiValued="true" />
  65.         <field name="editor"    type="textName"   indexed="true"  stored="true"  multiValued="false" />
  66.         <field name="title"    type="text"   indexed="true"  stored="true"  multiValued="false" required="true"/>
  67.         <field name="booktitle"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  68.         <field name="pages"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  69.         <field name="year"    type="int"   indexed="true"  stored="true"  multiValued="false" />
  70.         <field name="address"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  71.         <field name="journal"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  72.         <field name="volume"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  73.         <field name="number"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  74.         <field name="month"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  75.         <field name="url"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  76.         <field name="ee"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  77.         <field name="cdrom"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  78.         <field name="cite"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  79.         <field name="publisher"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  80.         <field name="note"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  81.         <field name="crossref"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  82.         <field name="isbn"    type="string"   indexed="true"  stored="true"  multiValued="false" />
  83.         <field name="series"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  84.         <field name="school"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  85.         <field name="chapter"    type="text"   indexed="true"  stored="true"  multiValued="false" />
  86.         <field name="text" type="text" indexed="true" stored="true" multiValued="true" />
  87.     </fields>
  88.  
  89.     <copyField source="title" dest="text" />
  90.     <copyField source="author" dest="text" />
  91.     <copyField source="booktitle" dest="text" />
  92.     <uniqueKey>key</uniqueKey>
  93.     <defaultSearchField>text</defaultSearchField>
  94.     <solrQueryParser defaultOperator="AND"/>
  95. </schema>