• Elasticsearch (三) 文档


    新建文档(动态创建)

    系统会自动帮助创建"表结构",缺点:创建出来的数据类型不够严谨,比如时间字段"createTime"会自动创建为字符型

    //格式
    [PUT] http://host:port/索引名称/文档类型/文档Id
    文档id,可省略,当省略时,系统自动生成
    //例如
    [PUT] http://host:port/news/news_info/1
    
    //参数
    {
        "newsType ":"sport",
        "title":"中国国奥队无缘东京奥运会",
        "author":true,
        "readNumber":1,
        "createTime":"2020-1-14 17:16:22",
        "content":"1月12日,中国国奥队球员胡靖航(左)在比赛中带球突破。 当日..."
    }
    //返回
    {
        "_index": "news",
        "_type": "news_info",
        "_id": "1",
        "_version": 1,
        "result": "created",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 0,
        "_primary_term": 3
    }

    新建文档(静态创建)

    有点类似于数据库中的创建表结构

    //格式
    [PUT] http://host:port/索引名称
    文档id,可省略,当省略时,系统自动生成
    //例如
    [PUT] http://host:port/news
    //参数
    {
        "mappings":{
            "news_info":{
                "_all":{"enabled":false},
                "properties":{
                    "id":{"type":"text"},
                    "title":{"type":"text"},
                    "author":{"type":"text"},
                    "createTime":{ "type": "date","format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"},
                    "newsType":{"type":"keyword"},
                    "readNumber":{"type":"long"}
                }
            }
            
        }
    }

    获取文档信息

    //格式
    [GET] http://host:port/索引名称/文档类型/文档Id
    //例如
    [GET] http://host:port/news/news_info/1
    
    //返回
    {
        "_index": "news",
        "_type": "news_info",
        "_id": "1",
        "_version": 1,
        "_seq_no": 1,
        "_primary_term": 3,
        "found": true,
        "_source": {
            "newsType ": "sport",
            "title": "中国国奥队无缘东京奥运会",
            "author": true,
            "read_number": 1,
            "create_time": "2020-1-14 17:16:22",
            "content": "1月12日,中国国奥队球员胡靖航(左)在比赛中带球突破。 当日,在..."
        }
    }

    更新文档内容

    //格式
    [POST] http://host:port/索引名称/文档类型/文档Id/_update
    //例如
    [POST] http://host:port/news/news_info/1/_update
    //参数 ①普通方式 { "doc":{ "title":"中国国奥队无缘东京奥运会UPDATE-TEST" } } ②脚本方式 { "script":{ "inline":"ctx._source.title = params.title", "params":{ "title":"中国国奥队无缘东京奥运会UPDATE" } } } //返回 { "_index": "news", "_type": "news_info", "_id": "1", "_version": 8, "result": "updated", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 7, "_primary_term": 3 }

    查询文档

    //格式
    [GET] http://host:port/索引名称/文档类型/_search
    //例如
    [GET] http://host:port/news/news_info/_search
    
    //返回
    {
        "took": 6,
        "timed_out": false,
        "_shards": {
            "total": 5,
            "successful": 5,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": 2,
            "max_score": 1.0,
            "hits": [
                {
                    "_index": "news",
                    "_type": "news_info",
                    "_id": "2",
                    "_score": 1.0,
                    "_source": {
                        "newsType ": "sport",
                        "title": "中国国奥队无缘东京奥运会",
                        "author": true,
                        "read_number": 1,
                        "create_time": "2020-1-14 17:16:22",
                        "content": "1月12日,中国国奥队球员胡靖航..."
                    }
                },
                {
                    "_index": "news",
                    "_type": "news_info",
                    "_id": "1",
                    "_score": 1.0,
                    "_source": {
                        "newsType ": "sport",
                        "title": "中国国奥队无缘东京奥运会UPDATE-TEST",
                        "author": true,
                        "read_number": 1,
                        "create_time": "2020-1-14 17:16:22",
                        "content": "1月12日,中国国奥队球员胡靖航..."
                    }
                }
            ]
        }
    }


    说明
    {
        "took": "整个搜索用了所少毫秒",
        "timed_out": "查询是否超时",
        "_shards": {
            "total": "查询中参与分片的总数",
            "successful": "查询成功的分片数",
            "skipped":  "没有参与的分片数",
            "failed":  "查询失败的分片数"
        },
        "hits": {
            "total": 2,
            "max_score": 1.0,
            "hits": []
        }
    }

    删除文档

    //格式
    [DELETE] http://host:port/索引名称/文档类型/文档Id
    //例如
    [DELETE] http://host:port/news/news_info/2
    //返回 { "_index": "news", "_type": "news_info", "_id": "2", "_version": 2, "result": "deleted", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 3 }

  • 相关阅读:
    迁移到MSYS2 与 Qt 工具链注意的几个事情(g++在链接时,符号依赖项查找遵循从左至右的顺序,但qmake会自动合并造成错误。使用脚本给Mingw32-make创造出一个局部的VC编译环境)
    MSYS2 瘦身小攻略(使用junction)
    Boost.Http
    MySQL中临时表的基本创建与使用教程(CREATETEMPORARY TABLE)
    Javascript设计模式
    CORS
    axure & Markman
    JSON序列化那点事儿
    软件开发生涯
    CoffeeScript NgComponent
  • 原文地址:https://www.cnblogs.com/devan/p/12193329.html
Copyright © 2020-2023  润新知