上文 Elasticsearch(ES) 下载添加IK分词器 带大家 下载 并使用了 IK 分词器
我们先启动 ES 服务
然后 我们来说 IK分词器 怎么用
设置分词器 我们还是要发put请求 创建索引时 通过参数设置
这里 我们put请求 类型要换成 json的
我们先加一个这样的模板
{
"mappings": {
"properties": {
}
}
}
我们数据结构的配置 都是在 mappings中的
properties 是指 装在的所有属性描述
然后 我们来写第一个属性 id
{
"mappings": {
"properties": {
"id": {
"type": "keyword"
}
}
}
}
这个id的type 并不是java的类型 而是 ES的类型 keyword 表示 可以根据id进行查询
如果 你不希望id参与查询
我们下面加个 index 给false 就好了
但 我们这明显是要参与查询的 将index 属性去掉
然后 我们就可以设置它的其他属性了
"name": {
"type": "text",
"analyzer":"ik_max_word"
},
"describe": {
"type": "text",
"analyzer":"ik_max_word"
},
"type": {
"type": " keyword"
}
这里 我们设置 name和describe type类型都是 text 表示这是一段文本信息
然后 analyzer 表示分词器 ik分词器的地址就是 ik_max_word
然后 又来了个type字段
最后 还有一个东西 要设置
例如 我们输入一个 springboot 那么 系统就蒙了 你是要在 name还是analyzer 中去找这个关服务器托管网键字?
但是 我们希望的是 只要有任何一个包含 就能查出来
我们将代码改成这样
{
"mappings": {
"properties": {
"id": {
"type": "keyword"
},
"name": {
"type": "text",
"analyzer":"ik_max_word",
"copy_to": "all"
},
"describe": {
"type": "text",
"analyzer":"ik_max_word",
"copy_to": "all"
}服务器托管网,
"type": {
"type": "keyword"
},
"all": {
"type": "text",
"analyzer":"ik_max_word"
}
}
}
}
加了一个字段 all type给text 文本信息 analyzer设置ik分词器 ik_max_word
但我们的name和describe 都设置了 copy_to 指向了 字段 all 意思是 它们拿到的数据 都会往all字段中备份一个 但是 copy_to给的数据确实是不真实存在的,主要是用于查询的
然后 我们点击执行
注意 如果你已经有这个 books 索引了 那么 要先删了 再执行 索引不能重复
OK 添加成功 我们get一下看看有没有效果
我们可以看到 mappings中的内容就是我们设置的了
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
相关推荐: vue3 实现el-date-picker日期筛选过程
一、图例 二、需求: 有2个查询条件,startTime 和 endTime 选中时间1,禁止选中时间2,当前值传递给 startTime 选中时间2,禁止选中时间1,当前值传递给 startTime 和endTime 三、完整代码 时间: {{ chi.te…