标签:
1.4.2 solr字段类型
(1.4.2.2) solr附带的字段类型
(1.4.2.3) 使用货币和汇率
(1.4.2.4) 使用Dates(日期)
(1.4.2.5) 使用枚举字段
(1.4.2.6) 使用外部文件和程序
(1.4.2.7) 字段属性使用案例
字段类型元素fieldType包含4个信息的类型:name,class-实现类的名称,analyzer-用于字段类型的分析,字段属性Field.
字段类型定义在schema.xml中的types元素下,每个字段类型都在filedType元素之间定义,下面是一个 text_general的例子:
<fieldType name="text_general" class="solr.TextField" positionIncrementGap="100"> <analyzer type="index"> <tokenizer class="solr.StandardTokenizerFactory" /> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.LowerCaseFilterFactory" /> </analyzer> <analyzer type="query"> <tokenizer class="solr.StandardTokenizerFactory" /> <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" /> <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" /> <filter class="solr.LowerCaseFilterFactory" /> </analyzer> </fieldType>
上面例子中的第一行包含了字段类型的名称text_general,以及对应的实现类solr.TextField,剩下部分定义了字段的分析.
实现类是负责确保该字段的正确处理,在这个class名称中,字符串solr时 org.apache.solr.schema 或者org.apache.solr.analysis的简称.
字段类型的class决定了字段类型的大部分行为,但是可选的属性也可以被定义.如下面的日期类型定义了sortMissingLast和omitNorms两个属性.
<fieldType name="date" class="solr.DateField" sortMissingLast="true" omitNorms="true" />
这个字段类型的属性可以分为三大类:
指定字段类型的类.
常规属性-solr所有字段类型都支持的属性.
字段默认属性-使用
属性 | 描述 | 值 |
positionIncrementGap | 对于多值字段来说,在多个值之间指定一个距离,预防假的匹配现象. | integer |
autoGeneratePhraseQueries |
对于文本字段,如果为true,solr自动为相邻词语生成短语查询, 如果false,词语之间必须使用双引号才被当作短语查询. |
true或false |
docValuesFormat |
自定义一个DocValuesFormat,用于这个类型的字段,这就需要一个模式感知编码解码器(schema-aware), 如solrconfig.xml中定义的SchemaCodecFactory |
n/a |
postingsFormat | 自定义一个PostingsFormat,用于这个类型的字段,这就需要一个模式感知编码解码器(schema-aware),
如solrconfig.xml中定义的SchemaCodecFactory |
n/a |
1.4.2 solr字段类型--(1.4.2.1)字段类型定义和字段类型属性
标签:
原文地址:http://www.cnblogs.com/a198720/p/4283092.html