elasticsearch的入门以及一些基本的操作

elasticsearch的入门以及一些基本的操作,这里需要先按照我上篇文章把es和kibana安装好
以下是一些基本操作

PUT /test
{
“settings”: {
“number_of_shards”: 1,
“number_of_replicas”: 1
}
}

POST /test/_doc
{
“name”:“xxx”,
“age”:12,
“aaa”: “123”
}

#结构化创建索引
PUT /test0
{
“settings”: {
“number_of_shards”: 1,
“number_of_replicas”: 1
},
“mappings”: {
“_doc”:{
“properties”:{
“name”:{“type”:“text”},
“age”:{“type”:“integer”}
}
}
}
}
PUT /test0/_doc/1
{
“name”:“赵云01”,
“age”:“123”,
“gender”:“男”
}
PUT /test0/_doc/2
{
“name”:“张飞01”,
“age”:“234”,
“gender”:“男”
}
PUT /test0/_doc/3
{
“name”:“赵小云01”,
“age”:“234”,
“gender”:“男”
}

#主键查询
GET /test0/_search/1
#查询all
GET /test0/_search
{
“query”:{
“match_all”: {}
}
}
#分页查询,es分页有一个致命的问题就是不能查询太多的分页,因为分页是在内存中完成的,如果分页太多,内存计算会崩溃的,es也不支持全部导出
GET /test0/_search
{
“query”:{
“match_all”: {}
},
“from”: 0,
“size”: 1
}
#条件查询
GET /test0/_search
{
“query”: {
“match”: {
“name”: “张飞”
}
}
}
#排序查询
GET /test0/_search
{
“query”: {
“match_all”: {}
},
“sort”: [
{
“age”: {
“order”: “desc”
}
}
]
}
#聚合查询
GET /test0/_search
{
“query”: {
“match_all”: {}
},
“sort”: [
{
“age”: {
“order”: “desc”
}
}
],
“aggs”: {
“group_by_age”: {
“terms”: {
“field”: “age”,
“size”: 10
}
}
}
}
#es默认支持的分词器是stander,会把中文的每个字都分成一个单独的
GET /test0/_analyze
{
“field”: “name”,
“text”: “地方都是刚刚”
}
#es默认也会对英文分词,会把每个单词还原为初始状态,比如eating分词后就是eat
PUT /test1
{
“settings”: {
“number_of_shards”: 1,
“number_of_replicas”: 1
},
“mappings”: {
“_doc”:{
“properties”:{
“name”:{“type”:“text”},
“age”:{“type”:“integer”},
“ename”:{“type”:“text”,“analyzer”:“english”}
}
}
}
}

PUT /test1/_doc/1
{
“name”:“英文分词器”,
“age”:12,
“ename”:“my name is daxi and i am eating and running”
}

GET /test1/_analyze
{
“field”: “ename”,
“text”: “my name is daxi and i am eating and running”
}

GET /test1/_search
{
“query”: {
“match”: {
“ename”: “eat”
}
}
}
#中文分词器 https://github.com/medcl/elasticsearch-analysis-ik
#ik要和es版本对应上,我的es版本是6.6.0 进入到es的目录中执行如下这个命令./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip 就会在config中看到analysis-ik,然后重启服务就可以了
在这里执行./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.0/elasticsearch-analysis-ik-6.6.0.zip
在这里插入图片描述
在这里插入图片描述
#ik_max_word和ik_smart有什么区别呢,下面已经给大家演示了,但是实际应用中,这两个要组合使用,就是建立分词的时候用ik_max_word,查询用ik_smart
#那stander有什么用呢?就是在以上两种情况都查询不到的情况下可以用stander建立分词,但是这种情况要慎用,因为这样比较占内存
#既有中文又有英文就要用ik分词器
#查不到的情况还有一种解决方案就是砍词,比如江大桥,会把江字砍掉,然后只查询大桥
PUT /test2
{
“settings”: {
“number_of_shards”: 1,
“number_of_replicas”: 1
},
“mappings”: {
“_doc”:{
“properties”:{
“name”:{“type”:“text”,“analyzer”:“ik_max_word”},
“age”:{“type”:“integer”},
“ename”:{“type”:“text”,“analyzer”:“ik_smart”}
}
}
}
}

GET /test2/_analyze
{
“field”: “name”,
“text”: “武汉市长江大桥”
}

GET /test2/_analyze
{
“field”: “ename”,
“text”: “武汉市长江大桥”
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值