Elasticsearch 中 analyzer/search_analyzer/ik_max_word/ik_smart 的使用

一、先说几个关键 属性

1,String 类,分为两种:

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

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

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

3,Date 日期类型

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

二、ik_max_word 和 ik_smart

1,ik_max_word:会对文本做最细 力度的拆分

2,ik_smart:会对文本做最粗粒度的拆分

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

三、分词器 analyzer 和 search_analyzer

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

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

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

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值