• Elasticsearch——操作索引


    Elasticsearch也是基于Lucene的全文检索库,本质也是存储数据,很多概念与MySQL类似的。

    对比关系:

    • 索引(indices)--------------------------------Databases 数据库
    • 类型(type)-----------------------------Table 数据表
    • 文档(Document)----------------Row 行
    • 字段(Field)-------------------Columns 列

     

    详细说明:

    概念说明
    索引库(indices) indices是index的复数,代表许多的索引,
    类型(type) 类型是模拟mysql中的table概念,一个索引库下可以有不同类型的索引,比如商品索引,订单索引,其数据格式不同。不过这会导致索引库混乱,因此未来版本中会移除这个概念
    文档(document) 存入索引库原始的数据。比如每一条商品信息,就是一个文档
    字段(field) 文档中的属性
    映射配置(mappings) 字段的数据类型、属性、是否索引、是否存储等特性

    是不是与Lucene和solr中的概念类似。

    另外,在SolrCloud中,有一些集群相关的概念,在Elasticsearch也有类似的:

    • 索引集(Indices,index的复数):逻辑上的完整索引

    • 分片(shard):数据拆分后的各个部分

    • 副本(replica):每个分片的复制

     

    要注意的是:Elasticsearch本身就是分布式的,因此即便你只有一个节点,Elasticsearch默认也会对你的数据进行分片和副本操作,当你向集群添加新数据时,数据也会在新加入的节点中进行平衡。

     

    2.2.创建索引

    2.2.1.语法

    Elasticsearch采用Rest风格API,因此其API就是一次http请求,你可以用任何工具发起http请求

    创建索引的请求格式:

    • 请求方式:PUT

    • 请求路径:/索引库名

    • 请求参数:json格式:

      {
          "settings": {
              "number_of_shards": 3,
              "number_of_replicas": 2
            }
      }
      • settings:索引库的设置

        • number_of_shards:分片数量

        • number_of_replicas:副本数量

    2.2.2.测试

    我们先用RestClient来试试

    响应:

    可以看到索引创建成功了。

    2.2.3.使用kibana创建

    kibana的控制台,可以对http请求进行简化,示例:

    相当于是省去了elasticsearch的服务器地址

    而且还有语法提示,非常舒服。

    2.3.查看索引设置

    语法

    Get请求可以帮我们查看索引信息,格式:

    GET /索引库名

     

    或者,我们可以使用*来查询所有索引库配置:

     

    2.4.删除索引

    删除索引使用DELETE请求

    语法

    DELETE /索引库名

    示例

    再次查看heima2:

    当然,我们也可以用HEAD请求,查看索引是否存在:

     

  • 相关阅读:
    Codeforces Round #297 (Div. 2) 525C Ilya and Sticks(脑洞)
    全栈必备 JavaScript基础
    2014-04-19编程之美初赛题目及答案解析
    doT js模板入门 2
    一篇关于arc下内存管理的老文章,包含各种冷门修饰符(关于内存),写的较好,mark
    MyBatis官方教程及源代码解析——mapper映射文件
    Android中图片的三级缓存策略
    python字符串/元组/列表/字典互转
    关于字节对齐的理解
    阿里云服务器ecs配置之安装redis服务
  • 原文地址:https://www.cnblogs.com/sheng-se/p/14364084.html
Copyright © 2020-2023  润新知