ElasticSearch的下载与普通命令

68 阅读2分钟

ElasticSearch的下载与普通命令

1、下载地址

需要注意,7.17.3之后的版本需要jdk17 7.17.3需要win8和最低node.js 12.0.0版本

www.elastic.co/cn/download…

2、启动

在这里插入图片描述 访问 http://localhost:9200/ 正确后: 在这里插入图片描述

3、使用postman进行

(1)使用put创建索引

在这里插入图片描述

(2)查询索引Get

在这里插入图片描述

(3)查询所有的索引 GET

在这里插入图片描述

(4)删除索引 DELETE

在这里插入图片描述

(5)在指定的索引中创建文档 POST

选择post,且选择json的形式,id是随机生成的

http://localhost:9200/shopping/_doc

在这里插入图片描述

指定生成的id http://localhost:9200/shopping/_doc/1000001

在这里插入图片描述

在指定索引中用create创建文档 http://localhost:9200/shopping/_create/1000002

在这里插入图片描述

(6)查询索引下面的文档 GET

http://localhost:9200/shopping/_search

在这里插入图片描述

(7)更新 PUT

http://localhost:9200/shopping/_doc/1000001

在这里插入图片描述

(8)条件查询

普通查询

http://localhost:9200/shopping/_search

{
    "query":{
        "match":{
            "category":"社交软件"
        }
    }
}

在这里插入图片描述

全部匹配查询

我们会发现,就连爱奇艺为视频软件都查询出来了,其实这是分词查询了,如果要全部匹配的话,就要改成

{
    "query":{
        "match_phrase":{
            "category":"社交软件"
        }
    }
}

在这里插入图片描述

分页条件查询

在此基础上,再进行分页查询 http://localhost:9200/shopping/_search

{
    "query":{
        "match_phrase":{
            "category":"社交软件"
        }
    },
    "from":0,
    "size":2
}

在这里插入图片描述

分页条件排序查询

在此基础上,我们对价格进行降序

{
    "query":{
        "match_phrase":{
            "category":"社交软件"
        }
    },
    "sort":{
        "price":"desc"
    },
    "from":0,
    "size":2
}

在这里插入图片描述

多个条件组合查询

{
    "query":{
        "bool":{
            "must":[
                {"match":{
                    "price":30000.00
                }}
            ],
            "must_not":[
                {"match":{
                    "title":"小红书"
                }}
            ]
            
        }
        
    }
}

在这里插入图片描述

范围查询

{
    "query":{
        "bool":{
            "must":[
                {"match_all":{}}
            ],
            "filter":{
                "range":{
                    "price":{
                        "gte":2000.00,
                        "lte":5000
                    }
                }
            }
        }
    }
}

在这里插入图片描述

范围查询后指定显示什么字段

{
    "query":{
        "bool":{
            "must":[
                {"match_all":{}}
            ],
            "filter":{
                "range":{
                    "price":{
                        "gte":2000.00,
                        "lte":5000
                    }
                }
            }
        }
    },
    "_source":["title"]
}

在这里插入图片描述

高亮

{
    "query":{
        "match":{
            "category":"社交软件"
        }
    },
    "highlight":{
        "fields":{
            "category":{}
        }
    }
}

在这里插入图片描述

聚合查询

{
    "aggs":{
        "price_group":{
            "terms":{
                "field":"price"
            }
        }
    }
}

在这里插入图片描述

查询平均值

{
    "aggs":{
        "price_avg":{
            "avg":{
                "field":"price"
            }
        }
    }
}

在这里插入图片描述

创建user索引之后设置其映射类型

{
    "properties":{
        "name":{
            "type":"text",
            "index":true
        },
        "sex":{
            "type":"keyword",
            "index":true
        },
        "tel":{
            "type":"keyword",
            "index":false
        }
    }
}

在这里插入图片描述

创建文档

sex为“男的”是为了全部匹配

在这里插入图片描述

查询

查询tel的时候会发现不是index是不允许查询的

在这里插入图片描述

查询性别为“男”发现找不到

在这里插入图片描述

查询性别为张的,就可以找到

在这里插入图片描述