elasticsearch笔记

对字段进行最细力度划分

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书店"

}

上一篇:安装ik分词器


下一篇:机器学习 实验四 决策树算法及应用