1.4.2 solr字段类型
solr附带的字段类型
下面列出的字段类型是solr可以使用的类型.其中包org.apache.solr.schema里边包含的所有类都在下面:
class | 描述 |
BCDIntField | 二进制编码的十进制(BCD)整数(integer),BCD是一种相对低效率的编码.提供的好处是快速的小数计算和快速转换为字符串. |
BCDLongField | 二进制编码的十进制长整数(long) |
BCDStrField | 二进制编码的十进制字符串 |
BinaryField | 二进制数据 |
BoolField | 包含true或false,第一个字符为"1","t","T"的值会被解释为true.其他的被解释为false. |
ByteField | 包含字字节数组,已弃用.使用TrieIntField代替. |
CollationField | 支持Unicode排序规则进行排序和范围查询,如果你想要使用ICU4J,ICUCollationField会是一个更好的选择.参考 Unicode Collation |
CurrencyField | 支持货币和汇率 |
DateField | 代表一个时间点精确到毫秒, |
DoubleField | Double (64-bit IEEE floating point). |
ExternalFileField | 从磁盘上的文件抽出值, |
EnumField |
允许定义枚举的集合,集合的值可能不是很容易通过字母或者数字的顺序排序(如如严重性列表).这个字段类型需要一个配置文件 罗列出字段值的合适的顺序. |
FloatField | Floating point (32-bit IEEE floating point). |
ICUCollationField | 支持Unicode排序规则进行排序和范围查询 |
IntField | Integer (32-bit signed integer) |
LatLonType | 空间检索:一个纬度/经度坐标对. |
LongField | Long integer (64-bit signed integer) |
PointType | 空间检索:任意的n维点. 有用的搜索源,如蓝图或CAD图纸. |
PreAnalyzedField |
提供了一种方式,发送到Solr的序列化令牌流,任意的独立存储在字段中的值,而这些信息存储和索引无需任何额外的文本处理.在使用Lucene的TokenStream提供的所有的丰富的属性时,如果你想要提交字段的内容,这些内容已经被已存在的外部文本处理管道处理,如tokenized, annotated, stemmed, inserted synonyms, 等.采用这个字段是非常有用的. |
RandomSortField | 不包含一个值,基于这个字段的排序将会返回一个随机的顺序,动态字段使用这个功能 |
ShortField | 短整型,已废弃,使用TrieIntField代替 |
SortableDoubleField | 可排序字段提供正确的数字排序,如果使用普通类型(DoubleField,IntField等),将会按照字典顺序排序而不是数字值大小. |
SortableFloatField | 数字顺序排序的浮点数 |
SortableIntField | 数字排序的整数 |
SortableLongField | 数字排序的长整数 |
SpatialRecursivePrefixTreeFieldType | 简称RPT,空间检索:接收纬度逗号经度字符串的值或者其他形状的WKT空间搜索的格式. |
StrField | 字符串(UTF-8编码或者unicode) |
TextField | 文本 |
TrieDateField | 日期字段,可用于 Lucene TrieRange处理. |
TrieDoubleField | Lucene TrieRange处理的Double字段. |
TrieField | 如果使用这个类型,必须使用"type" 属性.属性值可以是integer, long, float,double,date.和其他Trie字段使用一样. |
TrieFloatField | Lucene TrieRange处理的Float字段 |
TrieIntField | Lucene TrieRange处理的Int字段 |
TrieLongField | Lucene TrieRange处理的Long字段 |
UUIDField | 统一唯一标记符, |
MultiTermAwareComponent已经被加入到schema.xml的相关的solr.TextField的记录中.如(wildcards,regex,prefix,range等),允许针对多个term查询使其自动小写转换.
更进一步,你可以在schema.xml中指定属性 analyzerType="multiterm",如果没有指定,analyzer将会根据具体的属性来处理字段.