美文网首页
四、ES基于索引的基本操作

四、ES基于索引的基本操作

作者: 那钱有着落吗 | 来源:发表于2020-11-27 09:20 被阅读0次

    一、我们可以使用es-head或者postman进行接口的访问,如图:

    image.png
    image.png

    我们可以创建一个索引:


    image.png image.png

    我们在创建一个索引,并且副本数选择1


    image.png

    然后在回到概览就可以看到节点1的变化了,出现了一个新的索引,并且集群的健康值也变成了黄色,其中有5个副本sharp是灰色的,没有分配值,下面是官网关于集群状态的描述

    image.png

    当然我们也可以根据官网提供的接口来获取集群的健康状态信息:


    image.png

    二、设计一个文档结构:

    通过调用接口的方式设计一个文档结构:


    image.png image.png

    text和keyword代表的都是字符串类型,不一样的是text是可以模糊匹配的,在es中就是可以被索引且可以倒排查询的,而keyword是精确匹配的类型,例如状态或者微信号等不允许模糊匹配的。

    下面我们查询测试ES是怎么分词的:


    image.png
    image.png

    结构是他把所有的单词都给拆分出来了,如果你查询的字段是username的话,那么分词的结构就是整句话: immoc is very good~!

    需要注意一点的是:如果数据类型设置好的话,是不能修改的;

    三、我们现在可以新建一个名字叫做my_doc的索引,然后使用postman的方式新增一条文档:

    image.png

    如图我们在接口的url路径上写明了我们要新增文档到my_doc这个索引里,这条数据的id是1,这条数据的具体信息就是图中的数据,如果不写明数据id的话,es就会自动为我们的数据随机分配一个id

    然后在谷歌插件的es-head上查看数据:


    image.png

    可以看到数据已经存储上来了,我们在索引状态里面查看下:


    image.png
    发现几个字段都有,而且在name下面不仅仅有text类型还有keyword属性,这个意思就是name这个字段不仅可以精确匹配而且还可以倒排序搜索,长度是256,如果超出则忽略。
    当然根据官网的说明还会有删除或者更新的操作

    四、文档查询操作

    image.png

    可以看到如果要查询一个文档是如图那么的拼接url

    如果想要查询所有的文档数据就如下调用接口:

    http://192.168.121.172:9200/my_doc/_doc/_search
    

    如果希望展示出来的数据仅仅展示几个字段,可以这么定义:

    http://192.168.121.172:9200/my_doc/_doc/1?_source=id,name
    

    在source后面以逗号隔开多个想要的属性即可。

    如果你仅想要判断某个文档是否存在就可以使用head的接口请求方式来查询,这样的方式也是最优的方法,因为get是把所有符合请求的数据抓去过来,而head仅仅返回一个状态码,我们通过状态码是404还是200来判断是否有符合要求的文档即可。


    image.png
    image.png

    相关文章

      网友评论

          本文标题:四、ES基于索引的基本操作

          本文链接:https://www.haomeiwen.com/subject/rscziktx.html