微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐