四、Elasticsearch基本语法

发布时间 2023-03-30 18:15:27作者: o李一波o

索引基本操作

创建索引: PUT /索引名 注意:索引名必须全部由小写字母组成

PUT /order

查看所有索引:

GET /_cat/indices?v

查看单个索引: GET /索引名

GET /order

删除索引: DELETE /索引名

DELETE /order

删除所有索引: DELETE /*

DELETE /*

创建索引(index),同时创建类型(type)和映射(mapping),7.0以前是可以指定type的

PUT /order
{
    "mappings":{
        "order_detail":{
            "properties":{
                "id":{"type":"keyword"},
                "orderid":{"type":"keyword"},            
                "quantity":{"type":"integer"},
                "createdtime":{"type":"date"}
            }        
        }    
    }
}

7.0以后不能指定type,详细看官网介绍:

6.0之前一个索引可以对应多个类型,所以这里才会是先写mapping,再写type(order_detail1,order_detail2就是type)

PUT /order
{
    "mappings":{
        "order_detail1":{
            "properties":{
                "id":{"type":"keyword"},
                "orderid":{"type":"keyword"},            
                "quantity":{"type":"integer"},
                "createdtime":{"type":"date"}
            }        
        },
        "order_detail2":{
            "properties":{
                "id":{"type":"keyword"},
                "orderid":{"type":"keyword"},            
                "quantity":{"type":"integer"},
                "createdtime":{"type":"date"}
            }        
        }   
    }
}

创建索引同时设置settings与mappings

PUT /order
{
  "settings": {
        "index": {
            "number_of_shards": "3",
            "number_of_replicas": "1",
            "max_result_window": "10000000"
        },
        "analysis": {
            "analyzer": {
                "sanalyzer": {
                    "tokenizer": "standard"
                }
            },
            "normalizer": {
                "lowercase": {
                    "type": "custom",
                    "filter": [
                        "lowercase"
                    ]
                }
            }
        }
    },
    "mappings": {
        "properties": {
            "PlatformId": {
                "type": "short"
            },
            "Platform": {
                "type": "keyword",
                "normalizer": "lowercase"
            }
            "OrderRemark": {
                "type": "keyword",
                "normalizer": "lowercase"
            },
            "PackageInfos": {
                "properties": {
                    "PackageId": {
                        "type": "keyword",
                        "normalizer": "lowercase"
                    },
                    "ShippingTime": {
                        "type": "keyword",
                        "normalizer": "lowercase"
                    }
                }
            }
        }
    }
}

因为ES有默认返回数,可以自定义max_result_window

Docment基本操作