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