<?xml version="1.0" encoding="UTF-8" ?>
<schema name="default-config" version="1.6">

   <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
   <field name="user_friends_count" type="pint" indexed="true" stored="true" />
   <field name="user_location" type="string" indexed="true" stored="true" />
   <field name="user_description" type="string" indexed="true" stored="false"/>
   <field name="user_statuses_count" type="pint" indexed="true" stored="true" />
   <field name="user_followers_count" type="pint" indexed="true" stored="true"/>
   <field name="user_name" type="string" indexed="true" stored="true" />
   <field name="user_screen_name" type="string" indexed="true" stored="true" />
   <field name="created_at" type="pdate" indexed="true" stored="true" />
   <field name="text" type="string" indexed="true" stored="true" />
   <field name="retweet_count" type="pint" indexed="true" stored="true" />
   <field name="retweeted" type="boolean" indexed="true" stored="false" />
   <field name="in_reply_to_user_id" type="plong" indexed="true" stored="true" />
   <field name="source" type="string" indexed="true" stored="true" />
   <field name="in_reply_to_status_id" type="plong" indexed="true" stored="true" multiValued="true"/>
   <field name="media_url_https" type="string" indexed="false" stored="true" />
   <field name="expanded_url" type="string" indexed="false" stored="true" />

   <!-- file metadata -->   
   <field name="file_download_url" type="string" indexed="false" stored="true" />
   <field name="file_upload_url" type="string" indexed="false" stored="true" />
   <field name="file_scheme" type="string" indexed="true" stored="true" />
   <field name="file_host" type="string" indexed="true" stored="true" />
   <field name="file_port" type="pint" indexed="true" stored="true" />
   <field name="file_path" type="string" indexed="true" stored="true" />
   <field name="file_name" type="string" indexed="true" stored="true" />
   <field name="file_length" type="plong" indexed="true" stored="true" />
   <field name="file_last_modified" type="plong" indexed="true" stored="true" />
   <field name="file_owner" type="string" indexed="true" stored="true" />
   <field name="file_group" type="string" indexed="true" stored="true" />
   <field name="file_permissions_user" type="string" indexed="true" stored="true" />
   <field name="file_permissions_group" type="string" indexed="true" stored="true" />
   <field name="file_permissions_other" type="string" indexed="true" stored="true" />
   <field name="file_permissions_stickybit" type="boolean" indexed="true" stored="true" />

   <!-- tika metadata -->
   <field name="content_type" type="string" indexed="true" stored="true" />
   
    <field name="_version_" type="plong" indexed="false" stored="false"/>
    <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
   
    <dynamicField name="*_i"   type="pint"     indexed="true"  stored="true"/>     
    <dynamicField name="*_is"  type="pints"    indexed="true"  stored="true"/>
    <dynamicField name="*_s"   type="string"   indexed="true"  stored="true" />
    <dynamicField name="*_ss"  type="strings"  indexed="true"  stored="true"/>
    <dynamicField name="*_l"   type="plong"    indexed="true"  stored="true"/>
    <dynamicField name="*_ls"  type="plongs"   indexed="true"  stored="true"/>
    <dynamicField name="*_f"   type="pfloat"   indexed="true"  stored="true"/>
    <dynamicField name="*_fs"  type="pfloats"  indexed="true"  stored="true"/>
    <dynamicField name="*_d"   type="pdouble"  indexed="true"  stored="true"/>
    <dynamicField name="*_ds"  type="pdoubles" indexed="true"  stored="true"/>

    <uniqueKey>id</uniqueKey>

    <fieldType name="string" class="solr.StrField" sortMissingLast="true" docValues="true" />
    <fieldType name="strings" class="solr.StrField" sortMissingLast="true" multiValued="true" docValues="true" />
    <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
    <fieldType name="booleans" class="solr.BoolField" sortMissingLast="true" multiValued="true"/>

    <fieldType name="pint" class="solr.IntPointField" docValues="true"/>
    <fieldType name="pfloat" class="solr.FloatPointField" docValues="true"/>
    <fieldType name="plong" class="solr.LongPointField" docValues="true"/>
    <fieldType name="pdouble" class="solr.DoublePointField" docValues="true"/>
    
    <fieldType name="pints" class="solr.IntPointField" docValues="true" multiValued="true"/>
    <fieldType name="pfloats" class="solr.FloatPointField" docValues="true" multiValued="true"/>
    <fieldType name="plongs" class="solr.LongPointField" docValues="true" multiValued="true"/>
    <fieldType name="pdoubles" class="solr.DoublePointField" docValues="true" multiValued="true"/>

    <fieldType name="pdate" class="solr.DatePointField" docValues="true"/>
    <fieldType name="pdates" class="solr.DatePointField" docValues="true" multiValued="true"/>
    
    <fieldType name="text_general" class="solr.TextField" positionIncrementGap="100" multiValued="true">
      <analyzer type="index">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <!--<filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />-->
        <!-- in this example, we will only use synonyms at query time
        <filter class="solr.SynonymGraphFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
        <filter class="solr.FlattenGraphFilterFactory"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="solr.StandardTokenizerFactory"/>
        <!--
        <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
        <filter class="solr.SynonymGraphFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
        -->
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

</schema>