| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> elasticsearch V1.0 -> 正文阅读 |
|
[大数据]elasticsearch V1.0 |
与你相识
Table of ContentsElasticsearchelasticsearch 读音:[??l?st?k] [s??t?] 现在 elasticsearch在学习什么?我们在程序中往往需要用到查询功能,比如全文搜索,模糊搜索等,在传统的解决方案中,主要是使用SQL的 当初的解决方案是给sql字段加上索引,但是这个虽然会把速度再提上一个档次,但是还是达不到一个大数据的要求。 这个时候我们就有必要去学习一下 就拿下图来讲,如果我们要用SQL来做这面这些复杂的搜索,它的实现逻辑就会是否的复杂,而如果使用elasticsearch就会简单很多。 Elasticsearch是基于Lucene这个工具包做了一些封装和增强,它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。 除了elasticsearch,Solr也可以干这件事情,所以我们在学习的过程中,也会对比和参考着进行学习。 建议在大数据了的情况下都使用ES来完成搜索功能。 历史这个部分其实还有关于Lucene,Elasticsearch,Solr三者的介绍,以及ES和Solr的差别等。 但是我感觉用处不是很大,等我对它们各个使用的概念比较清晰的时候,再去了解这些背后的人文故事,可能更能感受其温度。 关于ES和Solr的选择: 截图一下视频中的片段,简单的了解一下。 什么是ELKELK是 Elasticsearch是一个基于Lucene、分布式、通过Restful方式进行交互的近实时搜索平台框架,它的搜索能力很强大,而Logstash是ELK的中央数据流引擎,用于从不同目标(文件/数据存储/MQ)收集的不同格式的数据,经过过滤之后再输出到不同目的地。 Kibana可以将elasticsearch的数据通过友好的页面展示出来,提供实时分析的功能。 它们三个合到一起常常被说是日志分析架构技术栈,但实际上ELK不仅仅适用于日志分析,还可以支持其它任何数据分析和收集的场景。 使用今天我们在Windows环境下来试用一下,官方网站下载客户端工具巨慢,所以我们使用华为云的镜像下载。 安装Elasticsearch安装然后我们会下载下来三个压缩包,首先解压 熟悉目录: 运行: 点击 运行之后我们可以得知它的默认端口是9200,所以我们直接访问,进行访问测试。 安装可视化界面可视化界面有很多的插件,插件用的最多的是head插件,下载下来之后,可以通过github的read me文件来看elasticsearch-head如何启动。 解决elasticsearch和es-head之间的通信跨域问题我们需要修改elasticsearch.yml文件,在最下面写上允许跨域的配置,然后重新启动一下elasticsearch即可。 此时我们去es-head的图形化界面中,就会有下面这个样子。我们一般只关心前三个选项,概览就是所有的库信息,索引就是看有多少个索引库,所有的数据在数据浏览里。 后面的查询我们到 Kibana安装去Kibana官网进行安装即可。 使用在bin目录下点击 汉化默认的测试页面是全英文的,我们需要对其进行汉化,Kibana本身已经支持了汉化,只是需要我们自己去配置文件中进行更改。我们找到其配置文件 可以看到它默认的是英文,我们在这里复制一行,改成中文即可。 Es使用
IK分词器它的作用是把一段信息划分为一个个的关键字,在搜索的时候就会把这个进行分词,也会把索引库中的数据进行分词,然后进行一个匹配的操作,默认的中文分词是把每一个字都看做一个词,比如“你好”,会分成“你”,“好”,这显然是有问题的,所以我们需要安装中文分词器 IK提供了两个分词算法: 安装我们只需要下载好IK分词器之后,解压到elasticsearch的plugins文件夹下,新建一个ik文件夹,然后放进去,重启elasticsearch就可以了,在elasticsearch重启的时候,可以看到ik plugins加载的过程。 也可以通过 使用
它会把它认为的词给拆分出来,拆分的方式是通过config文件下的各种dic文件,里面存了前缀后缀等字典文件,而这些默认的在有些时候是远远不足以我们的使用的,比如我想在网络上搜索我的名字—— 你可以创建自己的字典文件,比如里面写上了“雅各布”,这个时候ik就会认识“雅各布”这个词语了,保存之后,还需要在IK配置文件中配置一下用户的扩展字典的位置。 然后重启一下es即可。 REST风格put用来创建一个索引,不仅是可以在这里发送请求,postman或者各种请求的工具都是可以发送请求来创建的。 通过GET来获取具体索引的信息 我们可以通过一些关键字来进行一些模糊匹配,以及右边的结果之中, 我们可以在get中使用各种参数和api来完成我们的需求,然后右边会根据score的权重来进行排序。 参考资料总结由于时间不太够,所以用四倍速过了一遍视频,目前脑子里只是知道ELK是干什么的,然后怎么安装和解压,以及一些使用方式。 等到以后如何用到es的时候,需要再去看一遍文档。 欢迎评论区讨论,或指出问题。 如果觉得写的不错,欢迎点赞,转发,收藏。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/23 23:25:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |