暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ElasticSearch API & 文档 curd 操作

锐玩道 2021-08-17
190

如果❤️我的文章有帮助,欢迎点赞、关注。这是对我继续技术创作最大的鼓励。更多往期文章在我的个人专栏[1]

Search API

URI Search: uri 中带参数Request Body search: es 提供,基于json格式更加完备的DSL

指定查询索引

/_search :集群上所有索引/index1,index2/_doc/_search :index1,index2 索引/index*/_doc/_search :以index开头的索引

请求后响应

took: 花费时间total: 符合条件的总文档数hits: 结果集,默认前十_source: 文档原始信息

搜索相关性

搜索是用户和搜索引擎的对话用户关系搜索结果的相关性

是否可以找到搜索相关内容有多少部相关内容被返回文档打分排序是否合理结合业务需求,平衡结果排名


Page Rank 算法

不仅仅是内容更重要的内容可信度

网站搜索引擎,其实是 销售的角色

提升销售业绩去除库存

衡量相关性

查准率 - 尽可能返回较少无关文档查全率 - 尽量返回较多的相关文档排名 - 是否能按照相关度进行排序

文档的基本 CRUD 与批量操作

课程Demo

    ############Create Document############
    #create document. 自动生成 _id
    POST users/_doc
    {
    "user" : "Mike",
    "post_date" : "2019-04-15T14:12:12",
    "message" : "trying out Kibana"
    }


    #create document. 指定Id。如果id已经存在,报错
    PUT users/_doc/1?op_type=create
    {
    "user" : "Jack",
    "post_date" : "2019-05-15T14:12:12",
    "message" : "trying out Elasticsearch"
    }


    #create document. 指定 ID 如果已经存在,就报错
    PUT users/_create/1
    {
    "user" : "Jack",
    "post_date" : "2019-05-15T14:12:12",
    "message" : "trying out Elasticsearch"
    }


    ### Get Document by ID
    #Get the document by ID
    GET users/_doc/1




    ### Index & Update
    #Update 指定 ID (先删除,在写入)
    GET users/_doc/1


    PUT users/_doc/1
    {
    "user" : "Mike"


    }




    #GET users/_doc/1
    #在原文档上增加字段
    POST users/_update/1/
    {
    "doc":{
    "post_date" : "2019-05-15T14:12:12",
    "message" : "trying out Elasticsearch"
    }
    }






    ### Delete by Id
    # 删除文档
    DELETE users/_doc/1




    ### Bulk 操作
    #执行两次,查看每次的结果


    #执行第1次
    POST _bulk
    { "index" : { "_index" : "test", "_id" : "1" } }
    { "field1" : "value1" }
    { "delete" : { "_index" : "test", "_id" : "2" } }
    { "create" : { "_index" : "test2", "_id" : "3" } }
    { "field1" : "value3" }
    { "update" : {"_id" : "1", "_index" : "test"} }
    { "doc" : {"field2" : "value2"} }




    #执行第2次
    POST _bulk
    { "index" : { "_index" : "test", "_id" : "1" } }
    { "field1" : "value1" }
    { "delete" : { "_index" : "test", "_id" : "2" } }
    { "create" : { "_index" : "test2", "_id" : "3" } }
    { "field1" : "value3" }
    { "update" : {"_id" : "1", "_index" : "test"} }
    { "doc" : {"field2" : "value2"} }


    ### mget 操作
    GET _mget
    {
    "docs" : [
    {
    "_index" : "test",
    "_id" : "1"
    },
    {
    "_index" : "test",
    "_id" : "2"
    }
    ]
    }




    #URI中指定index
    GET test/_mget
    {
    "docs" : [
    {


    "_id" : "1"
    },
    {


    "_id" : "2"
    }
    ]
    }




    GET _mget
    {
    "docs" : [
    {
    "_index" : "test",
    "_id" : "1",
    "_source" : false
    },
    {
    "_index" : "test",
    "_id" : "2",
    "_source" : ["field3", "field4"]
    },
    {
    "_index" : "test",
    "_id" : "3",
    "_source" : {
    "include": ["user"],
    "exclude": ["user.location"]
    }
    }
    ]
    }


    ### msearch 操作
    POST kibana_sample_data_ecommerce/_msearch
    {}
    {"query" : {"match_all" : {}},"size":1}
    {"index" : "kibana_sample_data_flights"}
    {"query" : {"match_all" : {}},"size":2}




    ### 清除测试数据
    #清除数据
    DELETE users
    DELETE test
    DELETE test2
    复制

    相关阅读

    Document API https://www.elastic.co/guide/en/elasticsearch/reference/7.1/docs.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/7.1/search-search.htmlhttps://searchenginewatch.com/sew/news/2065080/search-engines-101https://www.huffpost.com/entry/search-engines-101-part-i_b_1104525https://www.entrepreneur.com/article/176398https://www.searchtechnologies.com/meaning-of-relevancyhttps://baike.baidu.com/item/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E%E5%8F%91%E5%B1%95%E5%8F%B2/2422574

    References

    [1]
     更多往期文章在我的个人专栏: https://coderdao.github.io/


    文章转载自锐玩道,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论