ElasticSearch入门理解

ElasticSearch

一:ElasticSearch安装

在这里插入图片描述

2:熟悉目录!

bin 启动文件
config 配置文件
    log4j2.properties 日志配置文件
    jvm.options  虚拟机相关的配置
    elasticsearch.yml  elasticsearch的配置文件 默认9200端口
lib 相关jar包
logs 日志!
modules 功能模块
plugins  插件 。安装插件可以直接放在这个目录下
    

3:启动

在这里插入图片描述

在这里插入图片描述

4.安装可视化界面 head插件

  • ​ cnpm install 进行安装

  • ​ npm run start 进行启动

在这里插入图片描述

  • 配置跨域支持

在这里插入图片描述

  • ​ kibana的安装

    ​ kibana需要和es的版本一致,解压既安装。

在这里插入图片描述

在这里插入图片描述

  • 配置设置为中文

在这里插入图片描述

二:es的理解

​ 1:es当作一个数据库(可以建立索引(数据库),文档(库中的数据))

在这里插入图片描述

三:IK分词器

在这里插入图片描述

安装

​ 1.可以去GitHub中下载。

2.下载完成后,直接放在plugins文件夹下面就可以使用。

3.安装好后重启es。

在这里插入图片描述

4.使用

​ ik_smart 最简分词器

​ ik_max_word 最细力度划分

在这里插入图片描述

5.自己进行分词器词典进行配置

在这里插入图片描述

  1. 基础测试

在这里插入图片描述

    1. 创建一个索引!
    PUT /索引名/~类型名~/文档ID
    {请求体}
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBg89oNn-1625819125455)(C:\Users\18237\AppData\Roaming\Typora\typora-user-images\image-在这里插入图片描述

  • 创建完成后自动增加索引

在这里插入图片描述

  • 数据类型有那些?

在这里插入图片描述

  • ​ 创建索引的一个规则(相当于数据库中创建一个表但是里面没有数据,只是指定了字段名和对应的类型)

    PUT /test2
    {
      "mappings": {
        "properties": {
          "name": {
            "type": "text"
          },
          "age": {
            "type": "long"
          },
          "birthday": {
            "type": "date"
          }
        }
      }
    }
    
  • 获取这个规则,可以通过GET请求获取具体的信息

在这里插入图片描述

  • 如果自己的文档字段类型没有指定,es会给我们默认配置

在这里插入图片描述

扩展

​ 通过命令 查看elasticsearch 索引情况

​ 通过get _cat/ 可以获取es当前情况下的具体信息。

  • 修改

1.修改 提交还是使用PUT即可,然后覆盖。

在这里插入图片描述

  1. 使用POST指令进行修改更新

在这里插入图片描述

  • 删除

在这里插入图片描述

关于文档的基本操作(重点)

基本操作

1:创建索引
在这里插入图片描述

2:简单的查询

// 查询ID为1的数据
GET kuangshen/user/1
// 带条件的查询数据
GET kuangshen/user/_search?q=name: 狂神说

在这里插入图片描述

3:复杂的查询(排序,分页,高亮,模糊查询,精准查询)

  • 模糊查询

在这里插入图片描述

  • 不想查询一个表中的所有列,可以指定列名进行查询

    使用 "_source"指令
    

在这里插入图片描述

  • 将查询出来的结果进行一个指定的列进行升序或者降序排序

    使用 "sort" 指令进行排序
    

在这里插入图片描述

  • 分页查询
使用 "form""size" 进行分页查询(和MYSQL中的limit的一样的用法),下表从0开始

在这里插入图片描述

  • 使用bool 可以进行一个多条件查询数据

     // 使用 "bool"  进行查询
    // must (and)  表示所有的条件都必须满足
    // should  (or)  表示所有的条件只要满足一个就可以了
    // must_not (not)  表示和其中的条件不一致的值
         GET kuangshen/user/_search
    {
      "query": {
        "bool": {
          "must": [   // should  可以替换
            {
              "match": {
                "name": "狂神说"
              }
              },
              {
                "match": {
                "age": 2
              }
            }
          ]
        }
      }
    }
    

在这里插入图片描述

  • 过滤器
//使用 "filter" 指令

// gt 大于
// gte 大于等于
// lt  小于
// lte 小于等于

GET kuangshen/user/_search
{
  "query": {
    "bool": {
      "must": [
        {
          "match": {
            "name": "狂神说"
          }
          }
      ],
      "filter": {
        "range": {
          "age": {
            "gt": 10,
            "lt": 20
          }
        }
      }
    }
  }
}

在这里插入图片描述

  • 数组查询
 // 需要查询数组中的多个匹配的值 可以使用空格 分割开 ,只要有匹配的就可以进行查询出来

GET kuangshen/user/_search
{
  "query": {
    "match": {
      "tags": "男 技术"
    }
  }
}

在这里插入图片描述

精确查询

 term 查询是直接通过倒排索引指定的词条进程精确查找的!
   关于分词:
     	term : 直接精确查询。
     	match: 会使用分词器解析!(先分析文档,然后在通过分析的文档进行查询)
     
     注意:
     两个类型的区别:
     	text
     	keyword
     

keyword

在这里插入图片描述

  • standard

在这里插入图片描述

  • 高亮查询
GET kuangshen/user/_search
{
  "query": {
    "match": {
      "name": "狂神说"
    }
  },
  "highlight": {
    "fields": {
      "name": {}
    }
  }
}

// 自定义标签修改样式
GET kuangshen/user/_search
{
  "query": {
    "match": {
      "name": "狂神说"
    }
  },
  "highlight": {
    "pre_tags": "<p class='key' style='color:red'>",
    "post_tags": "</p>", 
    "fields": {
      "name": {}
    }
  }
}

在这里插入图片描述

自定义标签修改样式

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值