Elasticsearch系列——kibana安装、elasticsearch-head安装、es安装插件、倒排索引、索引操作(数据库)、映射管理(类型)(表)、文档基本增删查、文档查询、模糊查询
2022/1/18 2:04:52
本文主要是介绍Elasticsearch系列——kibana安装、elasticsearch-head安装、es安装插件、倒排索引、索引操作(数据库)、映射管理(类型)(表)、文档基本增删查、文档查询、模糊查询,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
文章目录
- 昨日回顾
- 1 kibana安装(postman)
- 2 elasticsearch-head安装
- 3 es安装官方,第三方插件
- 3 倒排索引
- 4 索引操作(数据库)
- 5 映射管理(类型)(表)
- 6 文档基本增删查改(一行一行数据)
- 7 文档查询
- 8 模糊查询
昨日回顾
# django,flask,sanic,fastapi # net/http的包,封装好了 # go 语言的beego框架,gin,echo # beego:缓存,orm,session,日志内置(中文) -整体的设计理念,都源自django -bee工具(创建,允许项目) -main.go -到项目目录下:go build # gin:文档,gorm(beego的orm) -路由 -session -表单验证(第三方模块) # net/http包,可以做http客户端(爬虫),http服务端(web服务),beego,gin基于它写的 # template包,官方模板渲染的包 # es介绍 -java开发,基于Lucene,封装,做成服务,通过resful接口实现调用 -es和Solr,新型互联网都是es -es核心概念 -集群 -节点 -分片(es都有了) -副本 -全文检索 -大数据量的搜索:近实时,分析 -跟传统mysql比较 -数据库 ----索引 -表 ----类型(es 6以后,一个索引下只能有一个类型,7以后,完全不允许) -一行行数据 ----文档 -字段属性 ----映射(mapping) -haystack:只支持6之前的版本(django框架中的全文检索扩展) -es,Solr,Whoosh(python写的全文搜索框架,简单,不需要额外安装软件) -elk: -elasticsearch+Logstash+kibana # 中间件 -(django中间件) -服务器中间件(uwsgi) -消息队列中间件(rabbitmq) -数据库中间(Mycat,分库分表,集群(mysql官方不支持集群)) # es安装 -任何平台都需要装jdk -window一路下一步 -mac:一路下一步 -java -version 1.8以上(java15 ,85%以上的公司还在用1.8) -官网把es对于平台的版本的zip下载下来,解压 -bin路径下指向elasticsearch可执行文件 -http://127.0.0.1:9200/
1 kibana安装(postman)
1 客户端:浏览器,postman,kibana,elasticsearch-head(没有桌面版客户端) 2 官方提供的 -Kibana 是一款开源的数据分析和可视化平台 -Kibana一定要跟es版本对应,咱们用的都是7.5.0 3 解压,就可以运行 4 连接es,需要配置 -修改kibana配置 # kibana监听的端口和地址 server.port: 5601 server.host: "127.0.0.1" server.name: lqz # 连接哪个es elasticsearch.hosts: ["http://localhost:9200/"]
2 elasticsearch-head安装
1 第三方开发的一个es客户端(nodjs开发的,装node环境) 2 下载,解压 3 npm install 安装依赖 4 npm run serve 跑起来 5 会出现跨域,修改es配置 http.cors.enabled: true http.cors.allow-origin: "*" 6 浏览器输入 http://localhost:9100/
3 es安装官方,第三方插件
# 三种安装方式 # 推荐用第三种 **第一种:命令行** bin/elasticsearch-plugin install [plugin_name] # bin/elasticsearch-plugin install analysis-smartcn 安装中文分词器 **第二种:url安装** bin/elasticsearch-plugin install [url] #bin/elasticsearch-plugin install https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-6.4.0.zip **第三种:离线安装** #https://artifacts.elastic.co/downloads/elasticsearch-plugins/analysis-smartcn/analysis-smartcn-6.4.0.zip #点击下载analysis-smartcn离线包 #将离线包解压到ElasticSearch 安装目录下的 plugins 目录下 #重启es。新装插件必须要重启es ``` **注意:插件的版本要与 ElasticSearch 版本要一致**
3 倒排索引
1 倒排索引:对文章进行分词,对每个词建立索引,由于这样建,会出现索引爆炸,索引索引跟标题建关系,标题再跟文章建索引,如下: 分词---文章建立索引 | | 今天(索引) | (文章1,<2,10>,2) (文章3,<8>,1) | | 星期天(索引) | (文章2,<12,25,100>,3) | | 出去玩(索引) | (文章5,<11,24,89>,3)(文章1,<8,19>,2) | 今天出现在哪个文章,出现的位置和出现的次数
4 索引操作(数据库)
1 新建索引 PUT lqz2 { "settings": { "index":{ "number_of_shards":5, "number_of_replicas":1 } } } # 新建索引 PUT lqz2 { "settings": { "index":{ "number_of_shards":5, "number_of_replicas":1 } } } PUT lqz # 查看索引 GET lqz2/_settings GET lqz/_settings GET _all/_settings GET lqz,lqz2/_settings GET _settings # 修改索引(一般不太用,只能用来修改副本数量) #修改索引副本数量为2 分片的数量一开始就要定好 # 副本数量可以改(有可能会出错) PUT lqz/_settings { "number_of_replicas": 2 } PUT _all/_settings { "index": { "blocks": { "read_only_allow_delete": false } } } # 删除索引 DELETE lqz
5 映射管理(类型)(表)
#1 在Elasticsearch 6.0.0或更高版本中创建的索引只包含一个mapping type。 在5.x中使用multiple mapping types创建的索引将继续像以前一样在Elasticsearch 6.x中运行。 Mapping types将在Elasticsearch 7.0.0中完全删除 ##索引如果不创建,只有插入文档,会自动创建 # 创建映射(类型,表) PUT books { "mappings": { "properties":{ "title":{ "type":"text", "analyzer": "ik_max_word" }, "price":{ "type":"integer" }, "addr":{ "type":"keyword" }, "company":{ "properties":{ "name":{"type":"text"}, "company_addr":{"type":"text"}, "employee_count":{"type":"integer"} } }, "publish_date":{"type":"date","format":"yyy-MM-dd"} } } } ###查看映射 GET lqz/_mapping GET _all/_mapping # 特殊说明索引映射都不存在,也可以插入文档 PUT lqz1/_doc/1 { "title":"白雪公主和十个小矮人", "price":"99", "addr":"黑暗森里", "publish_date":"2018-05-19", "name":"lqz" } # 查看索引 GET lqz/_settings #查看映射 GET lqz/_mapping
6 文档基本增删查改(一行一行数据)
# 1 插入文档 PUT books/_doc/1 { "title":"大头儿子小偷爸爸", "price":100, "addr":"北京天安门", "company":{ "name":"我爱北京天安门", "company_addr":"我的家在东北松花江傻姑娘", "employee_count":10 }, "publish_date":"2019-08-19" } PUT books/_doc/2 { "title":"白雪公主和十个小矮人", "price":"99", #写字符串会自动转换 "addr":"黑暗森里", "publish_date":"2018-05-19" } PUT books/_doc/3 { "title":"白雪公主和十个小矮人", "price":"99", #写字符串会自动转换 "addr":"黑暗森里", "publish_date":"2018-05-19", "name":"lqz" } # 查询文档 GET lqz/_doc/1 # 修改文档两种方式 # 第一种 PUT lqz/_doc/1 { "name":"顾老二", "age":30, "from": "gu", "desc": "皮肤黑、武器长、性格直", "tags": ["黑", "长", "直"] } # 第二种(局部修改) POST lqz/_doc/1/_update { "doc": { "desc": "皮肤很safasdfsda黄,武器很长,性格很直", "tags": ["很黄","很长", "很直"] } } # 删除文档 DELETE lqz/_doc/4
7 文档查询
###查询字符串 # 查询from字段是gu的所有人 GET lqz/_doc/_search?q=from:gu # 查询age是22的人 GET lqz/_doc/_search?q=age:22 GET lqz/_doc/_search?q=desc:不知道 ###结构化查询 GET lqz/_doc/_search { "query": { "match": { "from": "gu" } } } GET lqz/_doc/_search { "query": { "match": { "from":"gu" } } }
8 模糊查询
match_all:查询所有 match_phrase:短语查询 GET t1/doc/_search { "query": { "match_phrase": { "title": { "query": "中国世界", "slop": 2 # 中国和世界之间最多间隔2个字符 } } } }
这篇关于Elasticsearch系列——kibana安装、elasticsearch-head安装、es安装插件、倒排索引、索引操作(数据库)、映射管理(类型)(表)、文档基本增删查、文档查询、模糊查询的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享