keyword和text的区别
区别点 | keyword | text |
---|---|---|
分词和索引 | 不进行分词,直接索引 | 会分词,然后进行索引 |
是否支持模糊、精确查找 | 支持模糊、精确查询 | 支持模糊、精确查询 |
是否支持聚合操作 | 支持聚合 | 不支持聚合 |
使用场景 | 存储邮箱号码、url、name、title,手机号码、主机名、状态码、邮政编码、标签、年龄、性别等数据。 用于筛选数据(例如: select * from x where status=‘open’)、排序、聚合(统计)。 直接将完整的文本保存到倒排索引中。 | 存储全文搜索数据, 例如: 邮箱内容、地址、代码块、博客文章内容等。 默认结合standard analyzer(标准解析器)对文本进行分词、倒排索引。 默认结合标准分析器进行词命中、词频相关度打分。 |
支持的字符长度 | keyword类型的最大支持的长度为——32766个UTF-8类型的字符,可以通过设置ignore_above指定自持字符长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果。 | 类型的最大支持的字符长度无限制,适合大字段存储 |