对字段进行最细力度划分
{
"analyzer":"ik_max_word",
"text":"java开发程序员"
}
学习过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
//删除索引 删库
//获取索引信息
//插入一行数据
{
"title": "zx",
"img": "sdfasw/aerwe",
"price": "一顿操作猛如虎,一看工资2500",
"shopname": "java商店"
}
//创建索引
{
"mappings": {
"properties": {
"title":{
"analyzer": "ik_max_word", //重点,一定要写这个 ,搜索时才能被ik分词器分词
"type": "text"
},
"img":{
"type": "keyword"
},
"price":{
"type": "keyword"
},
"shopname":{
"type": "keyword"
}
}
}
}
{
"query":{
"match":{
"title":"核心技术"
}
}
}
{
"title":"java编程语言设计",
"img":"sdfsdf",
"price":"asdfasd",
"shopname":"java书店"
}