es~text与keyword的选择
  XfpaLQko7Ata 2023年11月02日 41 0

elasticsearch里的string类型被分为了text和keyword类型,下面详细来介绍这两种类型的使用场景:

text类型

  • 分词后进行索引
  • 支持fields属性,可以在fields中添加keyword子类型,以实现精确检索
  • 分词器默认standard ,对于中文来说就是按字分词
  • 不支持聚合
  • 对text类型添加了fields属性,以支持精确检索
{
"properties": {
"my_field": {
"type": "text",
"fields":{
"keyword":{
"type":"keyword",
"ignore_above":256
}
}

当需要对关键字进行分词检索,短语检索时使用text,可能是个长文本

keyword类型

  • 支持精确检索
  • 可以实现类型关系型数据库中like模糊检索
  • 支持聚合和排序
  • 支持按字数建立索引,以便节约索引空间
{
"properties": {
"type": {
"ignore_above": 10, //大于10个字符将不进行索引,即无法检索
"type": "keyword"
}
}
}

当需要对其进行精确查找时,如用户名,身份证,电子邮件,电话等可以用keyword

作者:仓储大叔,张占岭,
荣誉:微软MVP


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
XfpaLQko7Ata
最新推荐 更多