3 ES快速入门

这篇具有很好参考价值的文章主要介绍了3 ES快速入门。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

3 ES快速入门

ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用head插件来测试,目的是对ES

的使用方法及流程有个初步的认识。

3.1 创建索引库

ES的索引库是一个逻辑概念,它包括了分词列表文档列表,同一个索引库中存储了相同类型的文档。它就相当于 MySQL中的表,或相当于Mongodb中的集合。

关于索引这个语:

索引(名词):ES是基于Lucene构建的一个搜索服务,它要从索引库搜索符合条件索引数据。

索引(动词):索引库刚创建起来是空的,将数据添加到索引库的过程称为索引。

下边介绍两种创建索引库的方法,它们的工作原理是相同的,都是客户端向ES服务发送命令。

1)使用postman或curl这样的工具创建:

put http://localhost:9200/索引库名称

{ 
    "settings":{ 
        "index":{ 
            "number_of_shards":1, 
            "number_of_replicas":0 
        } 
    } 
}

number_of_shards:设置分片的数量,在集群中通常设置多个分片,表示一个索引库将拆分成多片分别存储不同

的结点,提高了ES的处理能力和高可用性,入门程序使用单机环境,这里设置为1。

number_of_replicas:设置副本的数量,设置副本是为了提高ES的高可靠性,单机环境设置为0.

如下是创建的例子,创建xc_course索引库,共1个分片,0个副本:

3 ES快速入门

2)使用head插件创建

3 ES快速入门

效果如下:

3 ES快速入门

3.2 创建映射

3.2.1 概念说明

索引

  • 索引(index)是Elasticsearch对逻辑数据的逻辑存储,所以它可以分为更小的部分。
  • 可以把索引看成关系型数据库的表,索引的结构是为快速有效的全文索引准备的,特别是它不存储原始值。
  • Elasticsearch可以把索引存放在一台机器或者分散在多台服务器上,每个索引有一或多个分片(shard),每个分片可以有多个副本(replica)。

在索引中每个文档都包括了一个或多个field,创建映射就是向索引库中创建field的过程,下边是document和field

与关系数据库的概念的类比:

文档(Document)----------------Row记录

字段(Field)-------------------Columns 列

映射

  • 所有文档写进索引之前都会先进行分析,如何将输入的文本分割为词条、哪些词条又会被过滤,这种行为叫做

    映射(mapping)。一般由用户自己定义规则。

    相当于在关系型数据库中创建表结构。

文档类型

  • 在Elasticsearch中,一个索引对象可以存储很多不同用途的对象。例如,一个博客应用程序可以保存文章和评

    论。

  • 每个文档可以有不同的结构。

  • 不同的文档类型不能为相同的属性设置不同的类型。例如,在同一索引中的所有文档类型中,一个叫title的字段必须具有相同的类型。

注意:6.0之前的版本有type(类型)概念,type相当于关系数据库的表,ES官方将在ES9.0版本中彻底删除type。

**上边讲的创建索引库相当于关系数据库中的数据库还是表? **

​ 1、如果相当于数据库就表示一个索引库可以创建很多不同类型的文档,这在ES中也是允许的。

​ 2、如果相当于表就表示一个索引库只能存储相同类型的文档,ES官方建议 在一个索引库中只存储相同类型的文

档。

3.2.2 创建映射

我们要把课程信息存储到ES中,这里我们创建课程信息的映射,先来一个简单的映射,如下:

发送:post http://localhost:9200/索引库名称/类型名称/_mapping

例:若要在xc_course索引库中创建类型名为doc的映射,且共包括三个字段:name、description、studymondel ,发送如下请求:

由于ES6.0版本还没有将type彻底删除,所以暂时把type起一个没有特殊意义的名字。

post 请求:http://localhost:9200/xc_course/doc/_mapping

表示:在xc_course索引库下的doc类型下创建映射。doc是类型名,可以自定义,在ES6.0中要弱化类型的概念,

给它起一个没有具体业务意义的名称。

{ 
    "properties": { 
        "name": { 
            "type": "text" 
        },
        "description": { 
            "type": "text" 
        },
        "studymodel": { 
            "type": "keyword" 
        } 
    } 
}

映射创建成功,查看head界面:

3 ES快速入门

3.3 创建文档

ES中的文档相当于MySQL数据库表中的记录。

发送:put 或Post http://localhost:9200/xc_course/doc/id值

(如果不指定id值ES会自动生成ID)

http://localhost:9200/xc_course/doc/4028e58161bcf7f40161bcf8b77c0000

{ 
    "name":"Bootstrap开发框架", 
    "description":"Bootstrap是由Twitter推出的一个前台页面开发框架,在行业之中使用较为广泛。此开发框架包 含了大量的CSS、JS程序代码,可以帮助开发者(尤其是不擅长页面开发的程序人员)轻松的实现一个不受浏览器限制的 精美界面效果。", 
    "studymodel":"201001" 
}

使用postman测试:

3 ES快速入门

通过head查询数据:

3 ES快速入门

3.4 搜索文档

1、根据课程id查询文档

发送:get http://localhost:9200/xc_course/doc/4028e58161bcf7f40161bcf8b77c0000

使用postman测试:

3 ES快速入门

2、查询所有记录

发送 get http://localhost:9200/xc_course/doc/_search

3、查询名称中包括 bootstrap 关键字的的记录

发送:get http://localhost:9200/xc_course/doc/_search?q=name:bootstrap

4、查询学习模式为201001的记录

发送 get http://localhost:9200/xc_course/doc/_search?q=studymodel:201001

3.4.1查询结果分析

分析上边查询结果:

{ 
    "took": 1, 
    "timed_out": false, 
    "_shards": { 
        "total": 1, 
        "successful": 1, 
        "skipped": 0, 
        "failed": 0 
    },
    "hits": { 
        "total": 1, 
        "max_score": 0.2876821, 
        "hits": [ 
            { "_index": "xc_course", 
             "_type": "doc", 
             "_id": "4028e58161bcf7f40161bcf8b77c0000", 
             "_score": 0.2876821, 
             "_source": {
                 "name": "Bootstrap开发框架", 
                 "description": "Bootstrap是由Twitter推出的一个前台页面开发框架,在行业之中使用较 为广泛。此开发框架包含了大量的CSS、JS程序代码,可以帮助开发者(尤其是不擅长页面开发的程序人员)轻松的实现 一个不受浏览器限制的精美界面效果。", 
                 "studymodel": "201001" 
             } 
            } 
        ] 
    } 
}

took:本次操作花费的时间,单位为毫秒。

timed_out:请求是否超时

_shards:说明本次操作共搜索了哪些分片

hits:搜索命中的记录

hits.total : 符合条件的文档总数 hits.hits :匹配度较高的前N个文档

hits.max_score:文档匹配得分,这里为最高分

_score:每个文档都有一个匹配度得分,按照降序排列。

_source:显示了文档的原始内容。文章来源地址https://www.toymoban.com/news/detail-453583.html

到了这里,关于3 ES快速入门的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 简述Elasticsearch(ES)是什么 全文搜索概念 (倒排索引 管理文档)

    今天 我们来说说 NoSql 中的 Elasticsearch 大家基本都叫它 ES 官方介绍 它是一个分布式全文搜索引擎 分布式是一个系统架构的概念 而 全文搜索引擎 全文搜索 可以说基本大家天天都在接触 就比如 我们京东购物 想买什么东西 在全文输入框中搜索 它就会在所有物品中 帮你找出需

    2024年01月25日
    浏览(46)
  • 3分钟快速了解ES中索引,映射,文档的概念

    在 Elasticsearch 中,索引、映射和文档是数据存储和组织的基本概念。以下是这三个概念的关系和用法: 索引:索引是用于存储和组织具有类似结构的文档集合。在我们的书籍示例中,我们可以创建一个名为 “books” 的索引来存储书籍信息。 映射:映射定义了索引中文档的字

    2024年02月06日
    浏览(65)
  • ES入门十一:正排索引和倒排索引

    索引本质上就是一种加快检索数据的存储结构,就像书本的目录一下。 为了更好的理解正排索引和倒排索引,我们借由一个 **唐诗宋词比赛,**这个比赛一共有两个项目: 给定诗词名称,背诵整首 给诗词中几个词语,让你说出带这些词语的诗词。 不难想到,1比较简单,就是

    2024年04月10日
    浏览(77)
  • 【项目实战】ES的索引模式入门介绍

    在ES中,索引是指一组具有相似特征的文档的集合,可以将其看作是数据库中的表。 索引模式是指定义索引中文档的结构和属性的过程,类似于数据库中的表结构定义。 在ES中,索引模式是以JSON格式定义的,包含了文档的字段、类型、分析器等信息。 索引模式的设计对于E

    2024年02月07日
    浏览(38)
  • MySQL全文检索临时代替ES实现快速搜索

    引入 在MySQL 5.7.6之前,全文索引只支持英文全文索引,不支持中文全文索引,需要利用分词器把中文段落预处理拆分成单词,然后存入数据库。 从MySQL 5.7.6开始,MySQL内置了ngram全文解析器,用来支持中文、日文、韩文分词。 全文索引只支持InnoDB和MyISAM引擎,支持的类型为C

    2024年02月07日
    浏览(50)
  • ElasticSearch(ES) 搜索入门笔记

    ElasticSearch简称ES,经过多年的发展,已是很流行的搜索工具了,无需多介绍,下面就粘一点官方介绍 You know, for search (and analysis) Elasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack. Logstash and Beats facilitate collecting, aggregating, and enriching your data and storing it i

    2024年01月22日
    浏览(47)
  • es 四 快速入门****

    目录 查看集群状态 **颜色: 查看集群索引 **简单的索引操作 kibana 创建索引模式 Es 存储 文档 json数据 查看集群状态        get /_cat/health 带上表头 get /_cat/health?v **颜色: 绿色: 主分片副本分片可用 黄色: 主分片可用、副本分片不可用 红色:不可用 查看集群索引       

    2024年02月12日
    浏览(29)
  • 3 ES快速入门

    ES作为一个索引及搜索服务,对外提供丰富的REST接口,快速入门部分的实例使用head插件来测试,目的是对ES 的使用方法及流程有个初步的认识。 ES的索引库是一个逻辑概念,它包括了 分词列表 及 文档列表 ,同一个索引库中存储了相同类型的文档。它就相当于 MySQL中的表,

    2024年02月05日
    浏览(23)
  • ES6快速入门

    map()方法:map,映射,即原数组映射成一个新的数组; map方法接受一个新参数,这个参数就是将原数组变成新数组的映射关系。 语法: reduce为数组中的每一个元素依次执行回调函数,不包括数组中被删除或从未被赋值的元素,接受四个参数: 初始值(或者上一次回调函数的返

    2024年01月17日
    浏览(24)
  • 【ES专题】ElasticSearch快速入门

    ElasticSearch(简称ES),又是一个比较陌生的东西。作为一个【搜索】引擎,据说,ES在行业里可谓是无可匹敌。所以,学好ES对我们的帮助还是很大的。 由于是一个陌生的东西,所以想要上手, 一定得先理解它定义的一些核心概念,如笔记中的【4.1 ElasticSearch核心概念】 。核

    2024年02月05日
    浏览(94)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包