ElasticSearch基本用法

ElasticSearch API基本格式

http://<ip>:<port>/<索引>/<类型>/<文档id>


创建索引

方法一:打开网址 http://localhost:9100 创建索引,索引名称必须小写,不能有中划线

方法二:使用postman工具创建索引

# 创建一个people索引

put    127.0.0.1:9200/people 

{

    # 指定索引配置

    "settings“: {

        # 指定分片数

        ”number_of_shards“: 3,

        # 指定备份数

        "number_of_replicas": 1

    },

    # 映射定义

    "mappings": {

        ”man“:{

            # 属性定义

            "properties": {

                "name": {”type“: "text"},

                "country": {"type": "keyword"},

                "age": {"type": "integer"},

                "date": {"type": "date", "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch-millis"}

            }

        },

        ”woman“:{

        }

    }

}


插入数据

1)指定文档id插入

使用postman工具插入数据

put    127.0.0.1:9200/people/man/1

{

    "name": "瓦力",

    "country": "China",

    "age": "30",

    "date": "1987-03-07"

}

2)自动产生文档id插入

post    127.0.0.1:9200/people/man/

{

    "name": "超重瓦力",

    "country": "China",

    "age": "40",

    "date": "1977-03-07"

}


修改数据

1)直接修改文档

使用postman工具修改数据

post    127.0.0.1:9200/people/man/1/_update

{

    "doc":{

        "name": ”谁是瓦力“

    }

}

2)脚本修改文档

post    127.0.0.1:9200/people/man/1/_update

{

    "script":{

        # 指定脚本语言

        "lang": ”painless“,

        # 指定脚本内容(年龄加10)

        ”inline“: "ctx._source.age += 10"

    }

}


{

    "script":{

         # 指定脚本语言

        "lang": ”painless“,

        # 指定脚本内容(年龄指定为100)

        ”inline“: "ctx._source.age = params.age",

        "params": {

            "age": 100

        }

    }

}


删除文档

使用postman工具删除文档 

delete    127.0.0.1:9200/people/man/1


删除索引

方法一:使用网页删除 http://localhost:9200 动作 --> 删除

方法二:使用postman工具删除索引

delete    127.0.0.1:9200/people


简单查询

使用postman工具查询

#  查询id为1的文档

get    127.0.0.1:9200/people/man/1


# 条件查询

post    127.0.0.1:9200/people/_search

{

    "query":{

        # 条件,不输入则查询所有

        # "match_all": {}

        # 根据关键词查询

        "match": {

            "name": "ElasticSearch"

        }

    },

    # 排序

    ”sort“: {

        {"date": {"order": "desc"}}

    },

    # 从哪里返回数据

    "from": 1,

    # 返回几条数据

    "size: 1

}


聚合查询

使用postman工具查询

post    127.0.0.1:9200/people/_search

{

    # 聚合查询关键词

    ”aggs“: {

        # 给聚合条件起名字

        "group_by_age": {

            "terms":{

                # 指定聚合字段

                "field": "age"

            }

        },

        "group_by_date": {

            "terms":{

                "field": "date"

            }

        }

    }

}


最大 最小 平均 取和 计数函数

post    127.0.0.1:9200/people/_search

{

    ”aggs“: {

        ”grades_word_count“: {

            # 统计计算

            # "stats": {

            # 取最小值

            ”min“: {

                # 指定给那个字段进行计算

                field: "age"

            }

        }

    }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,117评论 2 89
  • 什么是ElasticSearch 基于Apache Lucene构建的开源搜索引擎 采用Java编写,提供简单易用...
    FlyXhc阅读 2,662评论 0 1
  • 基础名词es和mysql对应关系(容易理解)索引 ==>数据库类型 ==>数据表文档 ==>一行记录 1.创建pe...
    dongshixiao阅读 1,930评论 0 1
  • 你的情窦,我的初开 我想,一定是前生亏欠对方太多,才有了今世命运的无数次交集吧。 我想,从我们开始有故事起,我们就...
    浔影阅读 1,215评论 0 0
  • 每天都散发出坏的水果、食物的恶臭味,恨不得自己会遁地术不要每天路过那个垃圾堆。 可是,今天传来了一只小小狗的呻吟声...
    Mitchie_Qi阅读 1,430评论 0 1