对字段进行最细力度划分
GET _analyze
{
"analyzer":"ik_max_word",
"text":"java开发程序员"
}
ik_max_word和 ik_smart介绍
学习过Solr或Elasticsearch的同学都知道IK分词器,它是一个针对中文的分词器。
IK分词器地址:https://github.com/medcl/elasticsearch-analysis-ik
IK分词器有两种分词模式:ik_max_word和ik_smart模式。
1、ik_max_word
会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
2、ik_smart
会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。
测试两种分词模式的效果:
发送:post localhost:9200/_analyze
测试ik_max_word
{“text”:“中华人民共和国人民大会堂”,“analyzer”:“ik_max_word” }
测试ik_smart
{“text”:“中华人民共和国人民大会堂”,“analyzer”:“ik_smart” }
————————————————
Relational DB Elasticsearch
数据库(database) 索引(indices)
表(tables) types 行(rows)
documents 字段 (columns) fields
//删除索引 删库
DELETE /jd_goods
//获取索引信息
GET /jd_goods
//插入一行数据
PUT /jd_goods/content/1
{
"title": "zx",
"img": "sdfasw/aerwe",
"price": "一顿操作猛如虎,一看工资2500",
"shopname": "java商店"
}
//创建索引
PUT /jd_goods
{
"mappings": {
"properties": {
"title":{
"analyzer": "ik_max_word", //重点,一定要写这个 ,搜索时才能被ik分词器分词
"type": "text"
},
"img":{
"type": "keyword"
},
"price":{
"type": "keyword"
},
"shopname":{
"type": "keyword"
}
}
}
}
//搜索数据
GET /jd_goods/_doc/_search
{
"query":{
"match":{
"title":"核心技术"
}
}
}
插入一条id为1的数据
PUT /jd_goods/_doc/1
{
"title":"java编程语言设计",
"img":"sdfsdf",
"price":"asdfasd",
"shopname":"java书店"
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。