狂神说ElasticSearch入门(最全笔记)

您所在的位置:网站首页 狂神说go百度网盘 狂神说ElasticSearch入门(最全笔记)

狂神说ElasticSearch入门(最全笔记)

2024-05-25 01:08| 来源: 网络整理| 查看: 265

1. ElasticSearch概述

在这里插入图片描述

在这里插入图片描述

2. ES与Solr的差别 2.1. Solr简介

在这里插入图片描述

2.2. Lucene简介

在这里插入图片描述

2.3. ES VS Solr

在这里插入图片描述

3. ElasticSearch 安装

在这里插入图片描述

官网

ElasticSearch: https://mirrors.huaweicloud.com/elasticsearch/?C=N&O=D logstash: https://mirrors.huaweicloud.com/logstash/?C=N&O=D kibana: https://mirrors.huaweicloud.com/kibana/?C=N&O=D

认识目录

在这里插入图片描述

测试访问

在这里插入图片描述

在这里插入图片描述

这个,没有测试,等后期回来再看!head的插件

在这里插入图片描述

4. Kibana安装

开箱即用

配置文件

server.port: 5601 server.host: "0.0.0.0" elasticsearch.hosts: ["http://192.168.1.30:9201"] kibana.index: ".kibana" i18n.locale: "zh-CN" # 中文汉化

访问测试

在这里插入图片描述

5. ES核心概念 索引字段类型(mapping)文档(document)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

6. IK分词器 下载链接解压放入到es对应的plugins下即可重启观察ES,发现ik插件被加载了

在这里插入图片描述

也可以通过bin目录下elasticsearch-plugin list 查看已经加载的插件

使用kibana测试

ik_smart: 最少切分

在这里插入图片描述

ik_max_word为最细粒度划分!穷尽词库的可能, 字典!

在这里插入图片描述

ik分词器增加自己的配置!

在这里插入图片描述

重启ES 和 Kibana

在这里插入图片描述

在这里插入图片描述

7. Restful风格说明

在这里插入图片描述

基础测试

创建一个索引! PUT /索引名/~类型名~/文档id {请求体} # PUT 创建命令 test1 索引 type1 类型 1 id PUT test1/type1/1 { "name": "xiaofan", "age": 28 } # 返回结果 # 警告信息: 不支持在文档索引请求中的指定类型 # 而是使用无类型的断点(/{index}/_doc/{id}, /{index}/_doc, or /{index}/_create/{id}). { "_index" : "test1", # 索引 "_type" : "type1", # 类型(已经废弃) "_id" : "1", # id "_version" : 1, # 版本 "result" : "created", # 操作类型 "_shards" : { # 分片信息 "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 0, "_primary_term" : 1 }

在这里插入图片描述

指定字段的类型(创建规则)

在这里插入图片描述

获取具体的索引规则 # GET test2 { "test2" : { "aliases" : { }, "mappings" : { "properties" : { "age" : { "type" : "integer" }, "birthday" : { "type" : "date" }, "name" : { "type" : "text" } } }, "settings" : { "index" : { "creation_date" : "1599708623941", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "ANWnhwArSMSl8k8iipgH1Q", "version" : { "created" : "7080099" }, "provided_name" : "test2" } } } } # 查看默认的规则 PUT /test3/_doc/1 { "name": "狂神说Java", "age": 28, "birthday": "1997-01-05" } # GET test3 { "test3" : { "aliases" : { }, "mappings" : { "properties" : { "age" : { "type" : "long" }, "birthday" : { "type" : "date" }, "name" : { "type" : "text", "fields" : { "keyword" : { "type" : "keyword", "ignore_above" : 256 } } } } }, "settings" : { "index" : { "creation_date" : "1599708906181", "number_of_shards" : "1", "number_of_replicas" : "1", "uuid" : "LzPLCDgeQn6tdKo3xBBpbw", "version" : { "created" : "7080099" }, "provided_name" : "test3" } } } }

在这里插入图片描述

修改索引 POST # 只会修改指定项,其他内容保证不变 POST /test3/_doc/1/_update { "doc": { "name":"暴徒狂神" } } # GET test3/_doc/1 { "_index" : "test3", "_type" : "_doc", "_id" : "1", "_version" : 2, "_seq_no" : 1, "_primary_term" : 1, "found" : true, "_source" : { "name" : "暴徒狂神", "age" : 28, "birthday" : "1997-01-05" } }

在这里插入图片描述

8. 关于文档的基本操作 基本操作(简单的查询) put /kuangshen/user/1 { "name": "狂神说", "age": 23, "desc": "一顿操作猛如虎,一看工资2500", "tags": ["码农", "技术宅", "直男"] } put /kuangshen/user/2 { "name": "张三", "age": 28, "desc": "法外狂徒", "tags": ["旅游", "渣男", "交友"] } put /kuangshen/user/3 { "name": "李四", "age": 30, "desc": "不知道怎么描述", "tags": ["旅游", "靓女", "唱歌"] } GET kuangshen/user/1 GET kuangshen/user/_search?q=name:狂神 复杂操作(排序、分页、高亮、模糊查询、标准查询!)

在这里插入图片描述

# 模糊查询 GET kuangshen/user/_search { "query": { "match": { "name": "狂神" } } } # 对查询结果进行字段过滤 GET kuangshen/user/_search { "query": { "match": { "name": "狂神" } }, "_source": ["name", "desc"] } # 排序 GET kuangshen/user/_search { "query": { "match": { "name": "狂神" } }, "sort":[{ "age": "asc" }] } # 分页 GET kuangshen/user/_search { "query": { "match": { "name": "狂神" } }, "sort":[{ "age": "asc" }], "from": 0, "size": 2 }

布尔值条件查询

# 多条件查询 must 相当于and GET kuangshen/user/_search { "query": { "bool": { "must": [ {"match": { "name": "狂神" }}, {"match": { "age": 23 }} ] } } } # 多条件查询 should 相当于or GET kuangshen/user/_search { "query": { "bool": { "should": [ {"match": { "name": "狂神说" }}, {"match": { "age": 25 }} ] } } } # 多条件查询 must_not 相当于 not GET kuangshen/user/_search { "query": { "bool": { "must_not": [ {"match": { "age": 25 }} ] } } } # 过滤查询1 age > 24 GET kuangshen/user/_search { "query": { "bool": { "must": [ {"match": { "name": "狂神" }} ], "filter": [ {"range": { "age": { "gt": 24 } }} ] } } } # 过滤器2 22


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3