es浏览器局域网 es浏览器怎么浏览网页_elasticsearch

视频学习链接:https://www.bilibili.com/video/BV1hh411D7sb

基础知识

Elastic search:

  • 开源的高扩展的分布式全文搜索引擎,整个ES技术栈的核心。
  • 近乎实时的存储、检索数据
  • 扩展性好,可扩展上百台服务器,处理PB级别的数据
  • 基于Lucene开发(Lucene提供了全文检索的能力,但是没有办法直接使用)

入门(mac版本)

官网下载地址:https://www.elastic.co/cn/downloads/elasticsearch

启动:

通过终端进入到目录 elasticsearch-7.13.2/bin 下,执行 命令 sh elasticsearch 或者 ./elasticsearch,即可启动成功

es浏览器局域网 es浏览器怎么浏览网页_es浏览器局域网_02

部分启动日志

es浏览器局域网 es浏览器怎么浏览网页_es_03

浏览器访问出现图中结果即表示启动成功(注意不要重复启动):

es浏览器局域网 es浏览器怎么浏览网页_数据库_04

停止

可以通过杀掉进程号的方式,停止es

ps -ef |grep elastic

kill -9 93467

http方式使用ES

语法官方使用文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html?baymax=rec&rogue=pop-1&elektra=docs

使用postman创建

索引就等同于数据库,文档相当于表

动作

请求方式

地址

参数

幂等性

备注

创建索引

PUT

http://127.0.0.1:9200/shopping

Y

查看索引

GET

http://127.0.0.1:9200/shopping

Y

删除索引

DELETE

http://127.0.0.1:9200/shopping

Y

查看所有索引

GET

http://127.0.0.1:9200/_cat/indices?v

Y

创建索引下的文档

POST

http://127.0.0.1:9200/shopping/_doc

{“name”:“小米手机”,“category”:“小米”,“price”:1000.00}

N

相同文档可存储多次,每次响应的id不同

创建索引下的文档(自定义id)

POST

http://127.0.0.1:9200/shopping/_doc/1001

{“name”:“小米手机”,“category”:“小米”,“price”:1000.00}

N

PUT也可以(多次请求id不变,但是version会变,类似于修改了内容)

获取shoping下的所有数据

GET

http://127.0.0.1:9200/shopping/_search

Y

完全修改数据

PUT

http://127.0.0.1:9200/shopping/_doc/1001

{“name”:“小米手机”,“category”:“小米”,“price”:4000.00}

N

修改部分数据

POST

http://127.0.0.1:9200/shopping/_update/1001

{“doc”:{“name”:“华为手机”}}

Y

请求多次version并没有增加

条件查询

GET

http://127.0.0.1:9200/shopping/_search?q=category:小米

路径拼参数

条件查询

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“match”:{“category”:“小米”}}}

请求体拼参数

分页查询

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“match_all”:{}},“from”:0,“size”:2}

from:页码,计算公式:(页码-1)*每页数据条数;size:每页数据条数

查询:指定显示内容

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“match_all”:{}},“from”:0,“size”:2,"_source":[“name”,“price”]}

排序查询

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“match_all”:{}},"_source":[“name”,“price”],“sort”:{“price”:{“order”:“asc”}}}

排序的价格必须是 数字

连接查询 and

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“bool”:{“must”:[{“match”:{ “category”:“小米”}},{“match”:{“price”:1000.00}}]}}}

must

连接查询 or

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“bool”:{“should”:[{“match”:{ “category”:“小米”}},{“match”:{“price”:1000.00}}]}}}

should

范围查询

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“bool”:{“should”:[{“match”:{ “category”:“小米”}},{“match”:{“price”:1000.00}}],“filter”:{“range”:{“price”:{“gt”:4000.00}}}}}}

filter

全文关键词检索

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“match_phrase”:{“category”:“小米”}}}

关键词查询,不对查询条件做分词处理

检索结果高亮显示

GET

http://127.0.0.1:9200/shopping/_search

{“query”:{“match_phrase”:{“category”:“小米”}},“highlight”:{“fields”:{“category”:{}}}}

返回结果增加了html样式

聚合查询:分组

{“aggs”:{“price_group”:{“terms”:{“field”:“price”}}}}

aggs 表示聚合查询;price_group 分组名称 自定义;terms 分组。结果会根据字段分组

聚合查询:平均值

{“aggs”:{“price_avg”:{“avg”:{“field”:“price”}}}}

avg 求字段平均值

http 创建索引映射

{“properties”:{“name”:{“type”:“text”,“index”:true},“sex”:{“type”:“keyword”,“index”:true},“tel”:{“type”:“keyword”,“index”:false}}}

properties 索引配置;name 文档字段;type:“text” 字段类型;index 是否给此字段创建索引;keyword 关键字,即不对此属性做分词处理