Elasticsearch:keyword类型和text类型的区别

Text:

1.支持分词,全文检索,支持模糊查询,支持精确查询,不支持聚合,排序操作;
2.最大支持的字符长度无限制,适合大字段存储;
3.将字段进行分词处理,然后再存入到es中;

使用场景:
    1.存储全文搜索数据,例如:文章内容、地址、代码块;
    2.默认结合standard analyzer(标准解析器)对文本进行分词、倒排索引;
    3.默认结合标准分析器进行词命中、词频相关度打分;

Keyword:

1.不进行分词,直接索引,支持模糊查询,支持精确查询,支持聚合,排序操作;
2.最大支持的字符长度UTF-8 32766个,可以通过设置ignore_above指定自持字段长度,超过给定长度后的数据将不被索引,无法通过term精确匹配检索返回结果;
3.默认字符长度256个;

使用场景:
    1.存储邮箱号码,url,name,title,手机号码;
    2.用于筛选数据(例如:select * from x where status = ‘open’)、排序、聚合;
    3.直接将完整的文本保存至倒排索引中;

对比后的选择:

text比keyword多出了分词处理,所以从内存占比与性能上来看,如果keyword满足业务场景并且业务场景中不需要分词,那么优先使用keyword,因为其内存占比更低,性能更优。 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值