专栏首页Hcode网站Spring Boot(二)(ElasticSearch)+(ElasticSearch-head)+(Kibana)安装及使用

Spring Boot(二)(ElasticSearch)+(ElasticSearch-head)+(Kibana)安装及使用

下载与安装

下载安装的地址,华为镜像网站,github

解压安装ElasticSearch,配置跨域

打开文件,在最下面添加运行跨域,且跨域的主机IP为所有。

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

点击elasticsearch.bat 即可启动,访问http://127.0.0.1:9200 就可以看到是否成功

出现elasticsearch的配置说明json即说明成功

解压安装ElasticSearch-head

1、需要node.js环境和python环境,npm包管理工具

从GitHub下载完后打开文件夹,用cmd进入到文件夹里面,输入以下命令,即可启动。

COPYnpm install
npm run start

输入框中输入elasticsearch的ip地址和端口号,点击连接即可看到集群信息

2、 使用谷歌自带的插件

谷歌浏览器打开以下链接,点击安装即可。

http://extb.cqttech.com/search/elasticsearch%2520head

打开解压好的kibana文件夹,配置kibana

进入config文件夹

编辑kibana.yml,加上中文国际化,使得kibana汉化。

COPYi18n.locale: "zh-CN"

到bin目录,点击kibana.bat启动即可

打开浏览器,访问 http://localhost:5601

看到以下页面即为成功

下载ik分词器,配置自己的字典

下载地址:https://github.com/medcl/elasticsearch-analysis-ik

然后将文件夹复制到elasticsearch的插件文件夹plugins里面

进入文件夹,到config文件夹里面,创建一个××.dic文件,打开编辑属于自己的字典。

保存后,配置到ik分词器里面

测试ik分词器

配置完后所有程序都得重启~

打开kibana进入后,点击扳手,进入控制台

ik_smart 为最少切分 ik_max_word为细粒度划分!会去匹配字典!

COPYGET _analyze
{
  "analyzer": "ik_smart",
  "text": "码农人"
}
COPYGET _analyze
{
  "analyzer": "ik_max_word",
  "text": "码农人"
}

ik_max_word 会穷尽字典所有可能的组词。

使用kibana操作es

COPY//创建索引
PUT /test2
{
  "mappings": {
    "properties": {
      "name": {
        "type": "text"
      },
      "age":{
        "type": "long"
      },
      "birthday":{
        "type": "date"
      }
    }
  }
}

GET _cat/indices?



// 删除索引
DELETE /test1


// 插入文档
PUT /hcode/user/
{
  "name": "hhh",
  "age": ,
  "tags":["帅哥","大哥"]
}

PUT /hcode/user/
{
  "name": "xxx",
  "age": ,
  "tags":["sb","db"]
}

PUT /hcode/user/
{
  "name": "qqq",
  "age": ,
  "tags":["美女","靓女"]
}

// 获取文档信息
GET /hcode/user/

//更新文档
POST /hcode/user//_update
{
  "doc":{
    "name": "hzh"
  }
}

// 查询文档 条件为name=hzh
GET /hcode/user/_search?q=name:hzh


// 插入文档
PUT /hcode/user/
{
  "name": "hzh5",
  "age": ,
  "tags":["sb","db"]
}


//条件查询,获取name=hzh,且只返回name,tags的数据
GET /hcode/user/_search
{
  "query": {
    "match": {
      "name": "hzh"
    }
  },
  "_source": ["name","tags"]
}

// 条件查询,获得匹配name=hzh,且按age降序 分页返回第1页,每页数量为1
GET /hcode/user/_search
{
  "query": {
    "match": {
      "name": "hzh"
    }
  },
  "sort": [{
    "age":{
      "order": "desc"
    }
  }
  ],
  "from": ,
  "size": 
}


// 条件查询 name=hzh and age = 3
GET /hcode/user/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "hzh"
          }
        },
          {
          "match": {
            "age": 
            }
        }
      ]
    }
  }
}

// 条件查询  name=hzh or age=3
GET /hcode/user/_search
{
  "query": {
    "bool": {
      "should": [
        {
          "match": {
            "name": "hzh"
          }
        },
          {
          "match": {
            "age": 
            }
        }
      ]
    }
  }
}

// 条件查询 age !=3
GET /hcode/user/_search
{
  "query": {
    "bool": {
      "must_not": [
          {
          "match": {
            "age": 
            }
        }
      ]
    }
  }
}


// 条件查询 name=hzh and 3<=age<=10
GET /hcode/user/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "hzh"
            }
        }
      ],
      "filter": 
        {
          "range": {
            "age": {
              "gte": ,
              "lte": 
            }
          }
      }
    }
  }
}

// 查询后 对应field高亮!
GET /hcode/user/_search
{
  "query": {
    "match": {
      "name": "hzh"
    }
  }
  , "highlight": {
    "pre_tags": "<p style='color:red'>",
    "post_tags": "</p>",
    "fields": {
      "name":{}
    }
  }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MySQL进阶:索引与优化

    联合索引中,在创建索引的顺序中的索引必须左边索引都必要出现,先后顺序无关,但必须出现,不能跳过,例如 name,status,address只能出现以下情况

    HcodeBlogger
  • SSM框架(八)SpringMVC的拦截器

    HcodeBlogger
  • Python3可视化爬取教务系统实现查询功能

    今天来补充之前的界面操作系统,为学生查询操作系统2.0版本,依旧是用wxpython来做一个可视化的操作界面,用的工具依然是selenium库,beautifu...

    HcodeBlogger
  • 我为什么要创建一个不能被实例化的类

    Python 由于多继承的原因,可能会出现钻石继承[1]又叫菱形继承。为了保留多继承的优点,但又摒除缺点,于是有了混入这种编程模式。

    青南
  • 细说java系列之泛型

    简言之,范型是Java支持在编译期进行类型检查的机制。 这里面包含2层含义:其一,可以使用范型进行类型检查;其二,在编译期进行类型检查。 那么,什么叫做在编...

    2Simple
  • 白底黑字or黑底白字,眼睛更喜欢哪一个?

    腾讯大讲堂
  • 白底黑字or黑底白字,眼睛更喜欢哪一个?

    导语 | 白纸黑字是用户一贯的阅读习惯。在实际的使用场景中,黑底白字和白底黑字哪一种阅读体验会更好?对于我们的眼睛来说,哪一种搭配方式又会更舒适呢? 在人们的...

    腾讯大讲堂
  • 118. Pascal's Triangle(暴力求解法)

    Given a non-negative integer numRows, generate the first numRows of Pascal's tri...

    yesr
  • 【阳光私塾】网络正在拉低社会智商?

    大数据文摘
  • JSP 三讲

    Hongten

扫码关注云+社区

领取腾讯云代金券