solr schema.xml 解析

来源:互联网 发布:删除数据库 mysql 编辑:程序博客网 时间:2024/05/23 01:08
<?xml version="1.0" encoding="UTF-8" ?><!--前缀以solr.类限定名开头的引用于org.apache.solr.schema包--><!-- ////////////////////////////////////////////////// --><!-- 索引字段类型的声明 --><!-- ////////////////////////////////////////////////// --><types><!--org.apache.solr.schema.StrField字段类型不分词,但是会索引和保存整个句子或词把整个句子或词作为关键词--><!--org.apache.solr.schema.boolean用于存放boolean数据类型--><!--org.apache.solr.schema.BinaryField二进制数据类型,数据应该发送检索在基于64位编码的字符 --><!--为提供快速的范围查询,考虑使用默认的数字字段类型: org.apache.solr.schema.TrieIntFieldorg.apache.solr.schema.TrieFloatFieldorg.apache.solr.schema.TrieLongFieldorg.apache.solr.schema.TrieDoubleField--><!--为了快速的进行范围查询,考虑使用:org.apache.solr.schema.TrieDateField--><!--这些只用于为了兼容使用先前存在的索引而设置 org.apache.solr.schema.IntFieldorg.apache.solr.schema.LongField org.apache.solr.schema.FloatFieldorg.apache.solr.schema.DoubleFieldorg.apache.solr.schema.DateFieldorg.apache.solr.schema.SortableIntFieldorg.apache.solr.schema.SortableLongFieldorg.apache.solr.schema.SortableFloatFieldorg.apache.solr.schema.SortableDoubleField--><!--org.apache.solr.schema.RandomSortField这个数据类型的字段将不会被保存和查询任何数据只是做为内部排序的一种方式--><!--org.apache.solr.schema.TextField 允许定制指定的分析器,例如指定记号过滤器列表你也可以指定一个存在的分析器类,通过默认的构造器的class属性指定 分析器元素<fieldType name="text_greek" class="solr.TextField"> <analyzer class="org.apache.lucene.analysis.el.GreekAnalyzer"/><filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /></fieldType>--><!-- ////////////////////////////////////////////////// --><!--有效的字段属性: name:强制的给字段指定一个名字type: 从之前部分定义的类型中选择一个字段类型indexed:字段是否应该被索引被索引后可以查询和排序stored: true表示这个字段的值需要被保存和检索multiValued:在一个文档中一个字段存在多个值要被索引//被解析出来的时候就像//<country>//   <arr>//   <str>中国</str>//   <str>美国</str>//      <str>德国</str>//   </arr>//  </country>omitNorms: falsetermVectors: [false]termOffsets: default:如果该字段没有被赋值指定一个默认的赋值--><!--动态字段定义通过*来定义 <dynamicField name="*_ti" type="tint" indexed="true" stored="true"/>--><!--      一个文本字段域使用关键词定界符过滤器能够分割和匹配多种不同形式的关键词              因此wifi或者wi fi的查询可能匹配包含wi-fi的文档              同义词和停用此通过外部的文件定制              自动生成短语查询属性默认为true导致查询字符窜会被分割成短语形式的查询              例如:        WordDelimiterFilter splitting text:pdp-11 will cause the parser关键词分界符过滤器分割文本:pdp-11将会导致分析器生成文本pdp 11而不是(text:pdp or text:11)                   需要注意的是:自动生成短语查询趋向于不是以空格作为分界符的语言     -->             <!--<fieldType name="text" class="solr.TextField" positionIncrementGap="100" autoGeneratePhraseQueries="true">      <analyzer type="index"> //用于索引该字段的时候用到的分词器        <tokenizer class="solr.WhitespaceTokenizerFactory"/> -->        <!--                      在查询的时候我们只会使用同义词过滤器        <filter class="solr.SynonymFilterFactory" synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>        -->        <!-- <filter class="solr.StopFilterFactory"                ignoreCase="true"                words="stopwords.txt"                enablePositionIncrements="true"                />//停用词过滤器用于索引文档中的停用词去掉               <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1"         catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>        <filter class="solr.LowerCaseFilterFactory"/>        <filter class="solr.KeywordMarkerFilterFactory"         protected="protwords.txt"/>        <filter class="solr.PorterStemFilterFactory"/>      </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" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>        <filter class="solr.LowerCaseFilterFactory"/>        <filter class="solr.KeywordMarkerFilterFactory" protected="protwords.txt"/>        <filter class="solr.PorterStemFilterFactory"/>      </analyzer>    </fieldType>-->    <!--这个字段决定和增强文档的唯一性,除非这个字段使用required=false,这个字段必须要使用required=true<uniqueKey>id</uniqueKey>--><!--defaultOperator="AND|OR" 为查询解析器指定默认的查询单元关联符号--><solrQueryParser defaultOperator="OR" /><!--复制字段命令在文档被添加到索引的时,复制一个字段到另外一个字段。 索引同一个字段的不同方式,添加多个字段到同一个字段为了快速简单的查询<copyField source="cat" dest="text"/>在添加文档的时候将cat这个字段的文本和text这个目标字段的文本索引到一起 <copyField source="*_t" dest="text" maxChars="3000"/>--><!--指定相似度评分机制实现类 <similarityclass="org.apache.lucene.search.DefaultSimilarity"/> --></types>