测试ik分词器:
POST http://localhost:9200/_analyze
Body的JSON数据1:
{"text":"测试分词器,后面是测试内容:spring cloud实战","analyzer":"ik_max_word"}
JSON测试数据2:
{"text":"测试分词器,后面是测试内容:spring cloud实战","analyzer":"ik_smart"}
JSON测试数据3:
{"text":"中华人民共和国大会堂","analyzer":"ik_max_word"}
ik分词器的两种模式
1: ik_max_word 最细粒度拆分
2: ik_smart 最粗粒度拆分
二、映射管理
映射不能更新类型,只能删除映射,重新添加类型
常用映射类型:
(一:Text
1.analyzer 指定分词器 有ik_max_word-最细粒度拆分和ik_smart-最粗粒度拆分 search_analyzer------搜索分词器 (一般粗颗粒度)
2.index 默认为true 进行索引,只有索引才可以从索引库搜索
设置为false则不进行索引,将表明该字段不能被查询,如果查询会报错。但是可以被store。当该文档被查出来时,在_source中也会显示出该字段。
3.store 默认false。store参数的功能和_source有一些相似。我们的数据默认都会在_source中存在。但我们也可以将数据store起来,不过大部分时候这个功能都很鸡肋。
不过有一个例外,当我们使用copy_to参数时,copy_to的目标字段并不会在_source中存储,此时store就派上用场了。
copy_to 可以看看:https://blog.csdn.net/qq_21383435/article/details/118884992
引用:https://elasticsearch.cn/article/6159
(二:keyword关键字字段
一般用来精确搜索匹配,比如手机号,身份证号等
(三:date日期
1.format 通过format设置日期类型
例子: 下边的设置允许date字段存储年月日时分秒、年月日及毫秒三种格式。{ "properties": { "timestamp": { "type": "date", "format": "yyyy‐MM‐dd HH:mm:ss||yyyy‐MM‐dd" } } }
(四:数值类型
建议:
1、尽量选择范围小的类型,提高搜索效率 2、对于浮点数尽量用比例因子,比如一个价格字段,单位为元,我们将比例因子设置为100这在ES中会按分片存储,映射如下:"price": { "type": "scaled_float", "scaling_factor": 100 }由于比例因子为100,如果我们输入的价格是23.45则ES中会将23.45乘以100存储在ES中。如果输入的价格是23.456,ES会将23.456乘以100再取一个接近原始值的数,得出2346。使用比例因子的好处是整型比浮点型更易压缩,节省磁盘空间。
标签:映射,analyzer,----,ik,分词器,100,ES From: https://www.cnblogs.com/lksses/p/17705014.html