| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> ElasticSearch简介和使用方法(入门) -> 正文阅读 |
|
[大数据]ElasticSearch简介和使用方法(入门) |
目录 未完待续...... 一、ElasticSearch简介1.ElasticSearch官网:Free and Open Search: The Creators of Elasticsearch, ELK & Kibana | Elastichttps://www.elastic.co/ 2.ElasticSearch是做什么的?????????ElasticSearch是一个基于Lucene的搜索服务器 ,实现全文检索。 3. Lucene 是什么?????????Lucene 是 apache 下的一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene 的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能。 4.什么是全文检索???????? 简言之,全文检索就是将非结构化数据中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索。 ????????想要明白什么是全文检索,需要明白一个概念:什么是非结构化数据?和非结构化数据查询方法? ??????? 4.1 数据分类????????我们生活中的数据总体分为两种:结构化数据和非结构化数据。
??????? 4.2 非结构化数据查询方法
5.使用场景????????对于数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Google 等搜索引擎、视频网站内搜索、电商网站站内搜索等。 ????????比如使用关系型数据库MySQL,一张表数据量达到千万级别,这个时候要进行like查询,数据基本查不动。 ?6. ElasticSearch核心概念????????索引(index): ????????????????ElasticSearch存储数据的地方,可以理解成关系型数据库中的数据库概念。 ????????映射(mapping): ????????????????mapping定义了每个字段的类型、字段所使用的分词器等。相当于关系型数据库中的表结构。 ????????文档(document): ????????????????Elasticsearch中的最小数据单元,常以json格式显示。一个document相当于关系型数据库中的一行数据。 ????????倒排索引: ????????????????将各个文档中的内容,进行分词,形成词条。然后记录词条和数据的唯一标识(id)的对应关系,形成的产物。 ????????????????一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,对应一个包含它的文档id列表。 ????????????????ES将写入索引的所有信息组织为倒排索引( inverted index)的结构形式。倒排索引是一种将词条映射到文档的数据结构,它与传统的关系数据库的工作方式不同。你可以认为倒排索引是面向词条的而不是面向文档的。? ????????类型(type): ????????????????一种type就像一类表。如用户表、角色表等。在Elasticsearch7.X默认type为_doc ? ??????????????????????? 注:?\- ES 5.x中一个index可以有多种type。 ????????????????????????????? ? ? \- ES 6.x中一个index只能有一种type。 ??????????????????????????????????\- ES 7.x以后,将逐步移除type这个概念,现在的操作已经不再使用,默认_doc 7.索引和搜索流程????????? ?二、ElasticSearch的使用?1.windows中运行????????bin目录中双击运行 ????????注:如果启动出现闪退,在 config目录中修改 elasticsearch.yml ,在最后添加一行配置:
??????? 拓展: ????????Elastic官网:开源搜索:Elasticsearch、ELK Stack 和 Kibana 的开发者 | Elastic ????????Elasticsearch官网:Elasticsearch:官方分布式搜索和分析引擎 | Elastic ????????Elastic有一条完整的产品线:Elasticsearch、Kibana、Logstash等,这三个产品就是大家常说的ELK技术栈。 ????????ELK常用框架: ????????? ?2.检查是否运行成功????????访问http://localhost:9200/ 可以看到节点信息。 ?3.关于Head插件????????下载地址:GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster ??????? 可再Chrome浏览器操作、查看数据库。 ????????? ? 4.安装ik分词器??????? ik分词器可以分割中文语句。 ????????下载地址:Releases · medcl/elasticsearch-analysis-ik · GitHub ??????? 注意:需要下载与ES对应的版本 ????????在 ????????? ?????????强调: es插件目录中一个目录就是一个插件 ????????? ????????? ? 在Head中测试如下命令:
?? ?5.Kibana??????? 简介:Kibana是es的可视化工具 ????????下载地址:Install Kibana | Kibana Guide [7.15] | Elastic ??????? 注意:版本需要和es保持一致 ??????? 启动:双击运行bin目录中的 ??????? 测试:打开浏览器:? http://localhost:5601/? ??????? 在kibana左侧做到Dev Tools,输入请求命令
?????????测试结果如下: ? ?6. es的增删改查操作????????Elasticsearch提供了Rest风格的API,即Http请求接口,而且也提供了各种语言的客户端API ????????文档地址:Quick start | Elasticsearch Guide [7.15] | Elastic ????????中文文档:Elasticsearch: 权威指南 | Elastic ??????? 6.1 操作索引库??????????????? 基本概念: ????????????????????????Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。 ????????????????????????对比关系: ????????????????????????????????? ?未完待续....... |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 0:51:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |