ES-ik分词器----常用映射类型
测试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设置日期类型
{ "properties": { "timestamp": { "type": "date", "format": "yyyy‐MM‐dd HH:mm:ss||yyyy‐MM‐dd" } } }
(四:数值类型
建议:
"price": { "type": "scaled_float", "scaling_factor": 100 }