美文网首页
初识elasticsearch

初识elasticsearch

作者: 咸鱼佬 | 来源:发表于2018-10-22 20:07 被阅读12次

    概念

    全文检索
    从文本或数据库中、不限定数据字段、自由的萃取出信息的技术
    运行全文检索任务的程序,一般称作搜索引擎,它将用户随意输入的文字,试图从数据库中,找到匹配的内容。
    维基百科

    全文搜索和数据库搜索有什么不同?

    全文搜索和数据库搜索最大的一个不同是,你可以搜索出来不是完全包含搜索词的内容。这样的话,如果用户使用的搜索词不精确,也可以搜索到内容。(说白了就是一个分词)

    举个栗子,假设有一个外卖App,我现在想吃新奥尔良鸡翅,我搜索新奥尔良鸡翅。现在假设这个外卖App里面,有一家商家提供该产品。但是他的名字叫新奥尔良烤鸡翅,如果使用传统的数据库搜索,那么是搜索不到这个产品的。而全文搜索则可以


    Lucene
    Lucene是apache软件基金会4 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。

    elasticsearch

    ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎

    Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

    • 分布式的实时文件存储,每个字段都被索引并可被搜索
    • 分布式的实时分析搜索引擎
    • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

    elasticsearch版本问题

    其实,elasticsearch5.x 和 elasticsearch2.x 并不区别很大。
    elasticsearch5.x 按理来说是elasticsearch3.x,只是为了跟随ELK整体版本的统一
    ELK、是 Elasticsearch 、 Logstash 、 Kibana 三个产品的首字母缩写

    image

    Solr vs. Elasticsearch

    Apache Solr基于业界大名鼎鼎的java开源搜索引擎Lucene

    Elasticsearch在Solr推出几年后才面世的,通过REST和schema-free(不需要预先定义 Schema,solr是需要预先定义的)的JSON文档提供分布式、多租户全文搜索引擎

    请记住:

    • Elasticsearch由于其易用性而在较新的开发人员中更受欢迎
    • 但是如果你已经在使用solr了,请继续使用它,因为迁移到Elasticsearch并不会带来具体的优势
    • 如果您需要它来处理分析查询以及搜索文本,Elasticsearch是更好的选择,特别是收集日志,做分析处理

    核心概念

    1. near realtime nrt 近实时的 近实时(Elasticsearch 是有小延迟的,一般为 1 秒,一般情况是感受不到这个延迟的)
    2. Node:节点,归属集群。如果整个集群就一个节点,那这个节点也就是这个集群本身。节点也有名称(默认是在启动的时候随机分配的 UUID),节点名称也可以自定义,一般都建议自定义,节点名称很重要编译运维中进行管理
    3. Index:索引,类似数据库结构中的库,是一堆 document 的集合。索引名称必须全部是小写,不能用下划线开头,不能包含逗号,推荐格式:youmeek_index。
    4. Type:类型,类似数据库结构中的表。现在已经废弃
    5. Document:文档,Elasticsearch 中的最小数据单元,类似数据库结构中的一行数据。所以一行数据中也会有多个 field 也就是字段。Document 通常用 JSON 格式来表示。
    6. Shard:分片。全称 primary shards(一般用在写操作)。Elasticsearch 可以将一个 Index 中的 Document 数据切分为多个 shard,分布在多台服务器上存储。每个 shard 都是一个 Lucene index,最多能有 Document 这么多(官网原文):the limit is 2147483519 (Integer.MAX_VALUE - 128) documents

    https://www.zhuxichi.com/2017/02/21/SearchEngineTutorial01/
    https://zh.wikipedia.org/wiki/%E5%85%A8%E6%96%87%E6%AA%A2%E7%B4%A2
    https://baike.baidu.com/item/elasticsearch/3411206?fr=aladdin
    https://blog.csdn.net/qq_24365213/article/details/78119653
    https://www.cnblogs.com/xiaoqi/p/solr-vs-elasticsearch.html
    https://github.com/judasn/Elasticsearch-Tutorial-zh-CN/blob/master/elasticsearch-base/README-1.md?tdsourcetag=s_pctim_aiomsg

    相关文章

      网友评论

          本文标题:初识elasticsearch

          本文链接:https://www.haomeiwen.com/subject/hwwszftx.html