Solr 包含的字段类型
下表列出了 Solr 中可用且推荐的字段类型。下面的页面列出了所有从旧版 Solr 迁移过来的已弃用类型。该 org.apache.solr.schema
包含此表中列出的所有类。
推荐的字段类型
类 | 描述 |
---|---|
BBoxField |
为每个文档字段索引一个矩形(边界框),并支持通过边界框进行搜索。有关更多信息,请参见 空间搜索 部分。 |
BinaryField |
二进制数据。 |
BoolField |
包含真或假。第一个字符为 |
CollationField |
支持 Unicode 排序以进行排序和范围查询。如果您可以使用 ICU4J,则 ICUCollationField 是更好的选择。有关更多信息,请参见 Unicode 排序 部分。 |
CurrencyFieldType |
支持货币和汇率。有关更多信息,请参见 货币和汇率 部分。 |
DateRangeField |
支持索引日期范围,以包括时间点日期实例(单毫秒持续时间)。有关使用此字段类型的更多详细信息,请参见 日期格式和日期数学 部分。即使只是为了日期实例,也请考虑使用此字段类型,尤其是在查询通常落在 UTC 年/月/日/时等边界上的情况下。 |
DenseVectorField |
支持索引浮点值密集向量。有关更多信息,请参见 密集向量搜索 部分。 |
DatePointField |
日期字段。表示具有毫秒精度的某个时间点,使用基于“维度点”的数据结构进行编码,该结构允许对特定值或值范围进行非常有效的搜索。有关支持语法的更多详细信息,请参见 日期格式和日期数学 部分。对于单值字段,必须使用 |
DoublePointField |
双精度字段(64 位 IEEE 浮点数)。此类使用基于“维度点”的数据结构对双精度值进行编码,该结构允许对特定值或值范围进行非常有效的搜索。对于单值字段,必须使用 |
ExternalFileField |
从磁盘上的文件提取值。有关更多信息,请参见 外部文件和进程 部分。 |
EnumFieldType |
允许定义一组枚举值,这些值可能无法通过字母顺序或数字顺序轻松排序(例如,严重性列表)。此字段类型采用配置文件,该文件列出了字段值的正确顺序。有关更多信息,请参见 枚举字段 部分。 |
FloatPointField |
浮点数字段(32 位 IEEE 浮点数)。此类使用基于“维度点”的数据结构对浮点数进行编码,该结构允许对特定值或值范围进行非常有效的搜索。对于单值字段,必须使用 |
ICUCollationField |
支持 Unicode 排序以进行排序和范围查询。有关更多信息,请参见 Unicode 排序 部分。 |
IntPointField |
整数字段(32 位有符号整数)。此类使用基于“维度点”的数据结构对 int 值进行编码,该结构允许对特定值或值范围进行非常有效的搜索。对于单值字段,必须使用 |
LatLonPointSpatialField |
经纬度坐标对;可能包含多个值,表示多个点。通常以“纬度,经度”的顺序用逗号分隔。有关更多信息,请参见空间搜索部分。 |
LongPointField |
长整型字段(64 位有符号整数)。此类使用基于“维度点”的数据结构对 foo 值进行编码,该结构允许对特定值或值范围进行非常有效的搜索。对于单值字段,必须使用 |
NestPathField |
专门的字段类型,在使用嵌套文档时存储增强信息。 |
PointType |
单值 n 维点。它既用于对非经纬度的空间数据进行排序,也用于一些更罕见的使用场景。(注意:这与基于“点”的数字字段无关)。有关更多信息,请参见空间搜索。 |
PreAnalyzedField |
提供了一种将序列化令牌流发送到 Solr 的方法,可以选择使用字段的独立存储值,并将此信息存储和索引,而无需任何额外的文本处理。 PreAnalyzedField 的配置和用法在PreAnalyzedField 类型部分有说明。 |
RandomSortField |
不包含值。对该字段类型进行排序的查询将以随机顺序返回结果。使用动态字段来使用此功能。 |
RankField |
可用于存储评分因子以改进文档排名。与RankQParserPlugin结合使用。 |
RptWithGeometrySpatialField |
|
SortableTextField |
TextField 的一个专门版本,它允许(并默认) |
SpatialRecursivePrefixTreeFieldType |
(简称 RPT) 接受经度、纬度字符串或 WKT 格式的其他形状。有关更多信息,请参见空间搜索。 |
StrField |
字符串(UTF-8 编码字符串或 Unicode)。字符串适用于小型字段,并且不会以任何方式进行分词或分析。它们有一个略小于 32K 的硬性限制。 |
TextField |
文本,通常是多个单词或令牌。在正常使用情况下,只有 TextField 或 SortableTextField 类型的字段才会指定分析器。 |
UUIDField |
通用唯一标识符 (UUID)。传入一个值为 注意:当使用 SolrCloud 时,不建议为大多数用户配置具有 |
已弃用的字段类型
所有 Trie* 数字和日期字段类型都已弃用,取而代之的是 *Point 字段类型。Point 字段类型在范围查询方面更出色(速度、内存、磁盘),但是简单的 field:value 查询的性能比 Trie 差。要么接受这一点,要么继续使用 Trie 字段。此缺点可能会在将来的版本中得到解决。 |
类 | 描述 |
---|---|
CurrencyField |
使用 CurrencyFieldType 代替。 |
EnumField |
使用 EnumFieldType 代替。 |
TrieDateField |
使用 DatePointField 代替。 |
TrieDoubleField |
使用 DoublePointField 代替。 |
TrieFloatField |
使用 FloatPointField 代替。 |
TrieIntField |
使用 IntPointField 代替。 |
TrieLongField |
使用 LongPointField 代替。 |
TrieField |
此字段采用 |