• elasticsearch


    简称ES: 是一个开源的高扩展的分布式全文搜索引擎
    es是面向文档型数据库,一条数据在这里就是一个文档
    
    索引: (数据库)
    类型: (表--已删除)
    文档: (行)
    字段: (列)
    
    倒排索引:
    正排索引:
    
    //添加索引(新建一个数据库)
    http://127.0.0.1:9200/goods   PUT请求
    
    返回:
    {
        "acknowledged": true,
        "shards_acknowledged": true,
        "index": "goods"
    }
    
    PUT 两次操作返回结果是一样
    POST  两次操作返回结果不是一样
    
    //获取索引
    http://127.0.0.1:9200/goods  GET请求
    
    {
        "goods": {
            "aliases": {},
            "mappings": {},
            "settings": {
                "index": {
                    "routing": {
                        "allocation": {
                            "include": {
                                "_tier_preference": "data_content"
                            }
                        }
                    },
                    "number_of_shards": "1",
                    "provided_name": "goods",
                    "creation_date": "1628603743375",
                    "number_of_replicas": "1",
                    "uuid": "4cDVsU8aQL62iYxlELPM_w",
                    "version": {
                        "created": "7140099"
                    }
                }
            }
        }
    }
    //获取所有索引详细信息
    http://127.0.0.1:9200/_cat/indices?v
    //删除索引
    http://127.0.0.1:9200/goods DELETE请求
    {
        "acknowledged": true
    }
    
    
    //添加数据
    http://127.0.0.1:9200/goods/_doc/1001    POST请求  (不能用PUT)
    http://127.0.0.1:9200/goods/_create/1001    POST请求
    
    请求数据:
    {
        "title":"小米手机",
        "category":"小米",
        "price":"3999.90",
        
    }
    
    返回:
    {
        "_index": "goods",
        "_type": "_doc",
        "_id": "1001",
        "_version": 1,
        "result": "created",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 1,
        "_primary_term": 1
    }
    
    //查询数据
    http://127.0.0.1:9200/goods/_doc/1001  GET 
    {
        "_index": "goods",
        "_type": "_doc",
        "_id": "1001",
        "_version": 1,
        "_seq_no": 1,
        "_primary_term": 1,
        "found": true, //表示找到了
        "_source": {
            "title": "小米手机",
            "category": "小米",
            "price": "3999.90"
        }
    }
    
    //获取所有文档数据
    http://127.0.0.1:9200/goods/_search  GET 
    
    {
        "took": 23, //耗费时间 毫秒为单位
        "timed_out": false, //是否超时
        "_shards": {
            "total": 1,
            "successful": 1,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 2,
                "relation": "eq"
            },
            "max_score": 1,
            "hits": [
                {
                    "_index": "goods",
                    "_type": "_doc",
                    "_id": "XgtiMHsBqmDLeiGrn7BB",
                    "_score": 1,
                    "_source": {
                        "title": "小米手机",
                        "category": "小米",
                        "price": "3999.90"
                    }
                },
                {
                    "_index": "goods",
                    "_type": "_doc",
                    "_id": "1001",
                    "_score": 1,
                    "_source": {
                        "title": "小米手机",
                        "category": "小米",
                        "price": "3999.90"
                    }
                }
            ]
        }
    }
    
    //完全覆盖修改
    http://127.0.0.1:9200/goods/_doc/1001   PUT
    请求:
    {
        "title":"小米手机",
        "category":"小米",
        "price":"4999.90",
        
    }
    
    返回:
    {
        "_index": "goods",
        "_type": "_doc",
        "_id": "1001",
        "_version": 2,
        "result": "updated",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 2,
        "_primary_term": 1
    }
    
    //局部覆盖修改
    http://127.0.0.1:9200/goods/_update/1001   POST
    请求:
    {
        "doc":{
            "title":"华为手机"
        }
    }
    
    返回:
    {
        "_index": "goods",
        "_type": "_doc",
        "_id": "1001",
        "_version": 3,
        "result": "updated",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 3,
        "_primary_term": 1
    }
    
    //删除数据
    http://127.0.0.1:9200/goods/_doc/1001  DELETE请求
    
    {
        "_index": "goods",
        "_type": "_doc",
        "_id": "1001",
        "_version": 4,
        "result": "deleted",
        "_shards": {
            "total": 2,
            "successful": 1,
            "failed": 0
        },
        "_seq_no": 4,
        "_primary_term": 1
    }
    
    //条件查询(参数放url中)
    http://127.0.0.1:9200/goods/_search?q=category:小米
    {
        "took": 509,
        "timed_out": false,
        "_shards": {
            "total": 1,
            "successful": 1,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 1,
                "relation": "eq"
            },
            "max_score": 0.26706278,
            "hits": [
                {
                    "_index": "goods",
                    "_type": "_doc",
                    "_id": "XgtiMHsBqmDLeiGrn7BB",
                    "_score": 0.26706278,
                    "_source": {
                        "title": "小米手机",
                        "category": "小米",
                        "price": "3999.90"
                    }
                }
            ]
        }
    }
    //条件查询-参数放请求体
    http://127.0.0.1:9200/goods/_search
    请求:
    {
        "query":{ 
            "match":{
                "category":"小米"
            }
        }
    }
    或
    全部查询
    {
        "query":{ 
            "match_all":{
                
            }
        }
    }
    或
    多条件查询
    {
        "query":{
            "bool":{
                "must":[
                    {
                        "match":{
                            "category":"小米"
                        },    
                    }
                ],
                "filter":{
                    "range":{
                        "price":{
                            "lt" : 5000
                        }
                    }
                }
            }
        }
    }
    或
    完全匹配(不做分词匹配)
    {
        "query":{ 
            "match_phrase":{
                "category":"小米"
            }
        },
        "highlight":{
            "fields":{
                "category":{}
            }
        }
    }
    
    返回:
    {
        "took": 0,
        "timed_out": false,
        "_shards": {
            "total": 1,
            "successful": 1,
            "skipped": 0,
            "failed": 0
        },
        "hits": {
            "total": {
                "value": 1,
                "relation": "eq"
            },
            "max_score": 0.5753642,
            "hits": [
                {
                    "_index": "goods",
                    "_type": "_doc",
                    "_id": "XgtiMHsBqmDLeiGrn7BB",
                    "_score": 0.5753642,
                    "_source": {
                        "title": "小米手机",
                        "category": "小米",
                        "price": "3999.90"
                    }
                }
            ]
        }
    }
    
    //映射(其实就是定规则)
    http://127.0.0.1:9200/user/_mapping  PUT
    请求:
    {
        "properties": {
            "name": {
                "type": "text",
                "index": true
            },
            "sex": {
                "type": "keyword",
                "index": true
            },
            "mobile": {
                "type": "keyword",
                "index": false
            }
        }
    }
    text- 文本类型可以被全文检索
    keyword -是一个关键字  不可以全文检索 必须精准
    index - false  没有索引 不支持查询
  • 相关阅读:
    OI数学知识清单
    线段树入门教程
    扩展欧几里得定理基础讲解 代码及证明
    名字竞技场 V3.0
    可持久化线段树(主席树)新手向教程
    矩阵乘法浅析
    [Luogu] P1233 木棍加工
    高斯消元 模板
    位运算技巧
    [ZJOJ] 5794 2018.08.10【2018提高组】模拟A组&省选 旅行
  • 原文地址:https://www.cnblogs.com/finnlee/p/15126355.html
Copyright © 2020-2023  润新知