• 初识ES()


    一、es是什么

    es是基于Apache Lucene的开源分布式(全文)搜索引擎,提供简单的RESTful API来隐藏Lucee的复杂性。

    es除了全文搜索引擎之外,还可以这样描述:
      1.分布式的实时文件存储,每个字段都被索引并可被搜索

      2.分布式的实时分析搜索引擎

      3.可以扩展到成百上千台服务器,处理PB级结构化或非机构化数据。

    二、es的下载和安装

    Java for windows

      es对于java JDK的版本有需求,必须是Java1.8及以上

      安装步骤参考:

      https://www.cnblogs.com/Neeo/articles/10368280.html

    es for windows

      es开箱即用,也就是解压缩即可以使用

      安装参考https://www.cnblogs.com/Neeo/articles/10371306.html

    Kibana for windows

      Kibana是一个ElasticSearch提供的数据分析的Web接口。可使用它对日志进行高效的搜索、可视化、分析等各种操作

      安装参考:https://www.cnblogs.com/Neeo/articles/10371213.html

    三、es的使用

      1.es的数据组织

      逻辑:索引>类型>文档

      

      2.与关系型数据库做对比

    关系型数据库         es     
    数据库    索引indeces
           表     type
      记录   documents
      字段   字段fields

      3.文档

      (1)文档的特性:自我包含、层次性、结构灵活、无模式

      (2)类型:在es6.X版本开始,一个索引下面只能有一个类型,类型是文档的容器,并且,类型记录了字段和值的映射关系

      (3)索引:索引是映射类型的容器,elasticseaarch中的索引是一个非常大的文档集合。索引存储了映射类型的字段和其他设置。然后他们被存储到了各个分片上了。

      4.物理:节点、分片

      (1)节点,一个集群至少有一个节点,节点内可以有多个索引。在创建索引时,默认创建5个主分片,每个主分片搭配一个复制分片。

      (2)分片:文档存储在各个分片上,一个分片也是一个Lucene索引

      (3)倒排索引:倒排索引时一个包含不重复词条的文档,我们称该文档为倒排文档。(详情请参考维基百科)

      (4)es的索引和Lucene的索引对比

        es的索引是由多个分片组成,而每个分片则时一个Lucene索引

        一个Lucene索引能存储不超过21亿篇文档,或者不超过2740亿个唯一词条。

    四、基本操作

      1.简单操作

    PUT test/doc/1
    {
      "name":"TOM"
    }
    PUT test/doc/2
    {
      "age":"10"
    }
    PUT test/doc/3
    {
      "hobby":"play"
    }

      上面例子中,我们添加了3篇文档,首先检索test是否存在,不存在先创建,存在则添加(或更新)文档。

    GET test/doc/1    # 查看指定文档
    GET test/doc/_search    # 查看所有文档
    GET test/doc/_search?q=name:TOM    # 按条件查询

      这个是一些简单的查询语句。

    其他的查询

    GET test/_mapping   # 查看索引的映射类型
    GET test/_settings    # 查看索引的设置信息
    GET test    # 查看索引的详情

    删除操作

    DELETE test/doc/1   # 删除指定文档
    DELETE test    # 删除索引
  • 相关阅读:
    MFC project for a non-Unicode character set is deprecated
    关于Visual Studio 2013 编译 multi-byte character set MFC程序出现 MSB8031 错误的解决办法
    字符串比较自实现
    各种语言里获取当前模块的方法:ABAP,ABSL,C,nodejs
    SAP CRM product attachment的document template功能
    ABAP, UI5和webpack的处理入口
    ABAP, Maven, CF App和Webpack的build
    json格式的字符串序列化和反序列化的一些高级用法
    SAP ABAP Netweaver容器化, 不可能完成的任务吗?
    UI Component in CRM WebUI and Hybris
  • 原文地址:https://www.cnblogs.com/guchenxu/p/10897173.html
Copyright © 2020-2023  润新知