芯が強い人になるESTJ-A

# 2021--ElasticSearch7.6.1&kibana

IT開発 Tags: 无标签 阅读: 226

ElasticSearch&kibana安装

此次版本7.6.1
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-6-1
https://www.elastic.co/cn/downloads/past-releases/kibana-7-6-1

端口,9200,elasticSearch

截屏2021-10-29 21.47.53.jpg

处理跨域的问题elasticsearch.yml

http.cors.enabled: true
http.cors.allow-origin: "*"

双击启动elasticSearch,启动之后,去访问http://127.0.0.1:9200/,然后安装chrome插件,看到图片

截屏2021-10-29 21.57.08.jpg

启动kibana,

双击启动,进入端口http://127.0.0.1:5601/app/kibana#/home
截屏2021-10-29 22.14.11.jpg

2个都要开着
截屏2021-10-29 22.14.28.jpg

修改kibana配置文件,修改成中文的,kibana.yml

i18n.locale: "zh-CN"
保存,重启,elastic+kibana
截屏2021-10-31 08.02.57.jpg

ES核心概念

集群,节点,索引,类型,文档,分片,映射。

截屏2021-10-31 08.14.14.jpg
截屏2021-10-31 08.15.36.jpg
截屏2021-10-31 09.15.51.jpg

分词器,ik_smart,ik_max_word

修改配置文件,追加自己的分词器

截屏2021-10-31 09.23.36.jpg
把“狂神说”作为一个词组,放入分词器,重启,elastic+kibana,然后看到结果。搜索如此简单
截屏2021-10-31 09.27.21.jpg

截屏2021-10-31 09.34.00.jpg

link:https://www.elastic.co/guide/en/elasticsearch/reference/current/keyword.html

字符串:text,keyword

数值类型:long,interger,short,byte,double,float,half,half float,scaled float

日期:date

布尔类型:boolean

二进制binary

其他,具体参考官方文档。

关于文档的基本操作

基本操作

复杂操作

截屏2021-10-31 09.58.25.jpg
截屏2021-10-31 09.58.33.jpg
PUT,POST xxx/xxx/1/_update只更新部分信息,不会把未填入信息设置null
截屏2021-10-31 10.51.10.jpg

_source结果过滤

截屏2021-10-31 10.53.02.jpg

截屏2021-10-31 10.57.00.jpg

bool->must
bool->must_not
截屏2021-10-31 11.07.32.jpg
截屏2021-10-31 11.07.39.jpg

GET kuangshen/user/_search
{
  "query":{
    "match":{
      "name":"狂神说"
    }
  },
  "highlight": {
    "fields": {
      "name":{}
    }
  }
}

截屏2021-10-31 11.21.23.jpg

查询记录

GET _analyze
{
  "analyzer": "ik_smart",
  "text": "超级喜欢狂神说java"
}

GET _analyze
{
  "analyzer": "ik_max_word",
  "text": "超级喜欢狂神说java"
}

PUT /kuangshen/user/1
{
  "name":"狂神说",
  "age":18,
  "desc":"一顿操作猛如虎,一看工资2500",
  "tags":["程序员","技术宅","直男"]
}

PUT /kuangshen/user/2
{
  "name":"张三",
  "age":28,
  "desc":"法外狂徒,一辈子混吃等死",
  "tags":["躺着","宅男","二次元","旅游"]
}

PUT /kuangshen/user/3
{
  "name":"狂神说前端vue",
  "age":28,
  "desc":"狂神,再小的帆也能远航",
  "tags":["躺着","宅男","二次元","旅游"]
}


PUT /kuangshen/user/4
{
  "name":"文文学狂神说",
  "age":18,
  "desc":"学习,自学也能成就大结果,再小的帆也能远航",
  "tags":["旅游","购物","上网","看书"]
}

GET kuangshen/user/_search
{
  "query":{
    "match":{
      "name":"狂神"
    }
  },
  "sort":[
    {
      "age":{
        "order":"asc"
      }
    }
    ],
    "from": 0,
    "size": 20
}




GET kuangshen/user/_search
{
  "query":{
    "bool":{
      "must": [
        {
          "match": {
            "name": "狂神说"
          }
        }
      ]
    }
  }
}


GET kuangshen/user/_search
{
  "query":{
    "match":{
      "name":"狂神说"
    }
  },
  "highlight": {
    "fields": {
      "name":{}
    }
  }
}

springboot集成ElasticSearch

link