本文作者:DurkBlue

探究Elasticsearch非关系型数据库的用法推荐

DurkBlue09-0641419
探究Elasticsearch非关系型数据库的用法摘要:         Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,...

        Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例。作为 Elastic Stack 的核心,Elasticsearch 会集中存储您的数据,让您飞快完成搜索,微调相关性,进行强大的分析,并轻松缩放规模。


The Elastic Stack, 包括 Elasticsearch、Kibana、Beats 和 Logstash(也称为 ELK Stack)。 能够安全可靠地获取任何来源、任何格式的数据,然后实时地对数据进行搜索、分析和可视 化。Elaticsearch,简称为 ES,==ES 是一个开源的高扩展的分布式全文搜索引擎,是整个 Elastic Stack 技术栈的核心。==它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上 百台服务器,处理 PB 级别的数据。


全文搜索引擎

像谷歌,百度这样的网站搜索,它们都是根据网页中的关键字生成索引,我们在搜索时输入的关键字,它们会将该关键字即索引匹配到的所有网页返回。还有常见的项目中使用的日志搜索等等。对于这些非结构化的数据文本,关系型数据库搜索不是能很好的支持。


一般的传统数据库,全文检索都实现的很鸡肋,因为一般人也不会使用数据库去存文本字段。进行全文检索还需要扫描整个表,如果数据量很大,即使对SQL进行了语法优化和性能调优,也没有什么效果,就算建立了索引维护起来也非常麻烦,对于insert和update操作都会重构索引。所以说,在生产环境中使用常规的搜索方式性能很差劲。


搜索的数据对象是大量的非结构化的文本数据;

文件记录量达到数十万或数百万甚至更多;

支持大量基于交互式文本的查询;

需求非常灵活的全文搜索查询;

对高度相关的搜索结果有特殊的需求,但是没有可用的关系数据库可用满足;

对不同记录类型、非文本数据操作或安全事务处理的需求相对较少的情况;

为了解决结构化数据搜索和非结构化数据搜索性能问题,我们需要更专业、健壮更强大的全文搜索引擎,这里的全文搜索引擎指的是目前广泛应用的主流搜索引擎。它的工作原理是计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式,相当于查字典中检索字表查字的过程。


  ES技术是基于lucene进行深度定制而开发的,所以有必要晒出一部分代码来探讨ES技术最底层的依赖技术Lucene

    

   pom.xml


    探究Elasticsearch非关系型数据库的用法 第1张


    写入数据:

探究Elasticsearch非关系型数据库的用法 第2张


查询索引:


探究Elasticsearch非关系型数据库的用法 第3张




  现在分享基于v6.4版本的Elasticsearch中windows版本

    通过百度网盘分享的文件:elasticsearch-6.2.4.zip

    链接:https://pan.baidu.com/s/1WKYyqqoojJ-Rsau2YLeeYQ?pwd=5q4j 

    提取码:5q4j

      


    Kibana工具

    

通过百度网盘分享的文件:kibana-6.2.4-windows-x86_64.zip

链接:https://pan.baidu.com/s/19PBN7M5h-HNB8NgApDfEoA?pwd=kavw 

提取码:kavw


    Elasticsearch的中文分词器,把代码放在Elasticsearch安装目录的plugins目录下

    

通过百度网盘分享的文件:elasticsearch-analysis-ik-6.2.4.zip

链接:https://pan.baidu.com/s/13APcy_OP6HFBv877PO35nA?pwd=osao 

提取码:osao




此篇文章由DurkBlue发布,撰文不易,转载请注明来处
文章投稿或转载声明

来源:DurkBlue版权归原作者所有,转载请保留出处。本站文章发布于 09-06
温馨提示:文章内容系作者个人观点,不代表DurkBlue博客对其观点赞同或支持。

赞(0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

阅读
分享