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.直接将完整的文本保存至倒排索引中;文章来源:https://www.toymoban.com/news/detail-417923.html
对比后的选择:
text比keyword多出了分词处理,所以从内存占比与性能上来看,如果keyword满足业务场景并且业务场景中不需要分词,那么优先使用keyword,因为其内存占比更低,性能更优。 文章来源地址https://www.toymoban.com/news/detail-417923.html
到了这里,关于Elasticsearch keyword与text有什么区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!