elasticsearch核心概念

    技术2022-07-12  91

    一、什么是elasticsearch

    Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许多其他语言中都是可用的。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene

    二、集群、节点、索引、类型、文档、分片

    集群:一个集群对应多个节点

    节点:集群中的每个节点,一个节点不代表一台服务器

    索引:(index)类似于关系型数据库里的“数据库”——它是我们存储和索引关联数据的地方。

    类型:逻辑上的数据分类,es 7.x中删除了type的概念

    分片:es中最小的数据单元

    三、基本操作

    1、创建一个索引(数据库)

    PUT /索引(数据库)/类型/文档id

    2、查看创建的数据

    3、创建一个库

    4、不创建类型会给个默认的类型

     5、修改值

    第一种直接PUT

    第二种修改方法

     6、删除索引

    7、文档操作

    1、简单搜索

     2、复杂查询

    3、排序

    4、分页

    5、布尔值查询

    must命令相当于mysql中的AND

    should相当于mysql中or

    must_not 相当于mysql中!=

    过滤条件

    多条件查询->使用空格

    精确查找

    term 是通过倒排索引指定的词条进度精确查找的

    关于分词

    term 直接查询精确到(效率高)

    natch 会使用分词器进行解析(先分析文档,然后通过分析的文档在进行查询)

    两个类型text、keyword

    text 可以被分词器解析

    keyword 不会被分词器解析

    高亮查询

     

    Processed: 0.017, SQL: 9