Elasticsearch中的一些基本属性介绍

原文链接:https://blog.csdn.net/sinat_24928447/article/details/109024020


一、数据类型

1、String类分为两种:

text:可分词,不参与聚合
keyword:不可分词,数据会作为完整字段进行匹配,可参与聚合

2、Numberical 数值类型、分两类:

基本数据类型:long、integer、short、byte、double、float、half_float
浮点数高精度类型:scaled_float(需要制定精度因子,10或100这样,es会把真实值与之相乘后存储,取出时还原)

3、Date 日期类型

ES 可以对日期格式,化为字符串存储,但是我们建议存储为毫秒值 long,节省空间

二、分词类型

  • 1、ik_max_word:会对文本做最细力度的拆分
  • 2、ik_smart:会对文本做最粗粒度的拆分

两种分词器的最佳实践: 索引时用 ik_max_word(面面俱到), 搜索时用 ik_smart(精准匹配)。

三、分词器

1、分词器 analyzer 的作用有二:

  • 1、插入文档时,将 text 类型字段做分词,然后插入 倒排索引。
  • 2、在查询时,先对 text 类型输入做分词, 再去倒排索引搜索。

2、如果想要“索引”和“查询”, 使用不同的分词器,那么 只需要在字段上 使用 search_analyzer。这样,索引只看 analyzer,查询就看 search_analyzer。

此外,如果没有定义,就看有没有 analyzer,再没有就去使用 ES 预设。

猜你喜欢

转载自blog.csdn.net/qq_42697271/article/details/119324698