• Elastic Search的基本介绍


    想要查询数据就免不了搜索,搜索就离不开搜索引擎,百度、谷歌都是非常庞大的搜索引擎,它们几乎搜索了互联网开放的所有网页和数据。然而对于我们自己的业务数据而言,肯定就没有必要用这么复杂的技术了,如果我们想实现自己的搜索引擎,方便搜索和检索。Elastic Search就是不二之选,它是一个全文搜索引擎,可以快速地存储、搜索和分析海量数据。

    Elastic Search是一个开元的搜索引擎,建立一个全文搜索引擎库Apache Lucene 基础之上。

    那么Lucene又是何物?Lucene可能是目前存在的。不管是开源还是私有的,拥有最先进、高性能和全功能搜索引擎功能的库。但也仅仅是一个库。要用上Lucene,我们需要编写Java并引入Lucene包才可以,而且我们需要对信息检索有一定程度的理解才能明白Lucene是怎样工作的,理解起来没那么简单哟。

    那么为了解决这个问题,Elastic Search就诞生了。Elastic Search也是使用Java编写的,它的内部使用Lucene做索引和搜索,但是它的目标是使全文检索变得简单,相当于对Lucene的一层封装,它提供了一套简单的RESTFul API来帮助我们实现存储和检索。

    所以Elastic Search仅仅就是一个简易版的Lucene封装吗?那就大错特错了。Elastic Search不仅仅是Lucene,并且也不仅仅只是一个全文搜索引擎,还可以这样描述它:

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

    Elastic Search的安装

    我们可以到Elastic Search的官网下载Elastic Search:官网.(此处无力吐槽国外的镜像地址是真的真的慢呀~)。传送门传送[华为云Elastic Search镜像](https://mirrors.huaweicloud.com/elasticsearch/ 华为云) | [华为云Kibana](https://mirrors.huaweicloud.com/kibana/ Kibana)

    首先把安装包下载下来并解压。然后运行binelasticsearch(Mac或Linux)或者binelasticsearch.bat(windows)

    Elastic Search的相关概念

    在Elastic Search中有几个基本的概念。如节点、索引、文档等等。下面来分别介绍下这些概念。

    Node和Cluster

    Elastic Search本质上是一个分布式数据库,允许多台服务器协同工作,每台服务器可以运行多个Elastic Search实例。

    单个Elastic Search实例称为一个节点(Node).一组节点构成一个集群(Cluster)。

    Index

    Elastic Search会索引所有字段,经过处理后写入一个反向索引(Inverted Index)。查找数据的时候,直接查找该索引。

    所以,Elastic Search数据管理的顶层单位就叫做Index(索引),其实就相当于MySQL、MongoDB等里面的数据库的概念。另外值得注意的是,每个Index(即)数据库的名字必须是小写

    Document

    Index里面单条的记录称为Document(文档)。许多条Document构成了一个Index。

    Document使用JSON格式表示。

    Field

    即字段,每个Document都类似一个JSON结构,它包含了许多字段,每个字段组成了一个Document,其实就可以类比MySQL数据表中的字段。

    在Elastic Search中,文档归属于一种类型(Type),而这些类型存储在索引(Index)中。可以话简单的对比图来将Elastic Search与传统的关系型数据库进行类比。

    Relational DB --> Databases --> Tables --> Rows --> Columns
    ElasticSearch --> Indices -->  Types  -->Documents --
    
  • 相关阅读:
    HDU 6125
    HDU 6129
    Super Jumping! Jumping! Jumping!
    HDU 1040 As Easy As A+B(排序)
    VS2015转VS2008
    HDU 1329 Hanoi Tower Troubles Again!(乱搞)
    HDU 1062 Text Reverse(字符串)
    HDU 1013 Digital Roots(字符串)
    HDU 1003 Max Sum(动态规划)
    HDU 1203 I NEED A OFFER!(01背包)
  • 原文地址:https://www.cnblogs.com/shine-rainbow/p/12203486.html
Copyright © 2020-2023  润新知