solr schema.xml 解析

<?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.TrieIntField
		org.apache.solr.schema.TrieFloatField
		org.apache.solr.schema.TrieLongField
		org.apache.solr.schema.TrieDoubleField
	-->
	
	<!--
		为了快速的进行范围查询,考虑使用:
		org.apache.solr.schema.TrieDateField
	-->


	<!--
		这些只用于为了兼容使用先前存在的索引而设置 
		org.apache.solr.schema.IntField
		org.apache.solr.schema.LongField 
		org.apache.solr.schema.FloatField
		org.apache.solr.schema.DoubleField
		org.apache.solr.schema.DateField
		org.apache.solr.schema.SortableIntField
		org.apache.solr.schema.SortableLongField
		org.apache.solr.schema.SortableFloatField
		org.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: false
		termVectors: [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"/>
	-->

	<!--
		指定相似度评分机制实现类 <similarity
		class="org.apache.lucene.search.DefaultSimilarity"/>
	 -->

</types>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值