欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

elasticsearch header常用操作

程序员文章站 2022-07-14 18:40:46
...

1、RESTful接口使用方法

>为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口。
elasticsearch header常用操作

RESTful接口URL的格式:

http://localhost:9200///[]

其中index、type是必须提供的。

id是可选的,不提供es会自动生成。

index、type将信息进行分层,利于管理。

index可以理解为数据库;type理解为数据表;id相当于数据库表中记录的主键,是唯一的。

2. 文档索引的创建

将如下一条歌曲信息的数据提交到ES中创建索引:

url:http://localhost:9200/song001/list001/5  
data:{"number":32768,"singer":"杨坤","size":"777","song":"今夜20岁","tag":"中国好声音","timelen":319}  
  • 1
  • 2
  • 3

elasticsearch header常用操作

索引名字是:song001;
索引的类型是:list001;
本记录的id是:5
返回的信息可以看到创建是成功的,并且版本号是1;ES会对记录修改进行版本跟踪,第一次创建记录为1,同一条记录每修改一次就追加1。
至此一条记录就提交到ES中建立了索引,注意HTTP的方法是PUT,不要选择错了。

3、索引文档的查询

根据索引时的ID查询的文档的RESTful接口如下
url:http://localhost:9200/song001/list001/5
HTTP方法采用GET的形式。

elasticsearch header常用操作

4、索引文档的更新

根据索引时的ID更新的文档的内容其RESTful接口如下
url:http://localhost:9200/song001/list001/5
HTTP方法采用PUT的形式。
将歌手名由“杨坤”改成“杨坤独唱”;
结果中的version字段已经成了2,因为我们这是是修改,索引版本递增;created字段是false,表示这次不是新建而是更新。
更新接口与创建接口完全一样,ES会查询记录是否存在,如果不存在就是创建,存在就是更新操作。
elasticsearch header常用操作

5、索引文档的删除

根据索引时的ID更新的文档的内容其RESTful接口如下
url:http://127.0.0.1:9200/song001/list001/5
HTTP方法采用DELETE的形式。
删除过后,再通过查询接口去查询将得不到结果。
elasticsearch header常用操作

总结:
增删改查的RESTful接口URL形式:http://localhost:9200///[]
增删改查分别对应:HTTP请求的PUT、GET、DELETE方法。PUT调用是如果不存在就是创建,已存在是更新

2.3.x

创建Mapping

POST  /new_test/record/_mapping/
  1. {
  2. "record": {
  3. "properties": {
  4. "analyze_date": {
  5. "format": "yyyy-MM-dd HH:mm:ss",
  6. "type": "date"
  7. },
  8. "upload_status": {
  9. "index": "not_analyzed",
  10. "type": "string"
  11. },
  12. "event_type": {
  13. "index": "not_analyzed",
  14. "type": "string"
  15. }
  16. }
  17. }
  18. }

 

 

添加Mapping字段:

 

 

  1. PUT /test_index/_mapping/test_type mapping增加字段
  2. {
  3. "properties": {
  4. "proRemark": {
  5. "type": "string",
  6. "index": "not_analyzed"
  7. }
  8. }
  9. }

 

5.0.x

 

添加Mapping字段:

POST

test_index/test_type/_mapping 

 

删除type数据:

  1. POST edemo/test/_delete_by_query?conflicts=proceed
  2. {
  3. "query": {
  4. "match_all": {}
  5. }

查看所有索引的配置信息
GET /_settings


查看某个索引的配置信息

GET /index_name/_settings
{
    "my_index": {
        "settings": {
            "index": {
                "mapping": {
                    "nested_fields": {
                        "limit": "3"
                    }
                },
                "number_of_shards": "5",
                "provided_name": "my_index",
                "creation_date": "1501401908363",
                "number_of_replicas": "1",
                "uuid": "aBaORhvoQb6emZkfKXqSPA",
                "version": {
                    "created": "5010199"
                }
            }
        }
    }
}

创建索引时设置

PUT /my_temp_index
{
    "settings": {
        "number_of_shards" :       ,
        "number_of_replicas" : 0
    }
}

设置索引的副本信息(分片个数不允许修改)

PUT /my_temp_index/_settings
{
   "number_of_replicas" : 0
}

 

index.mapping.total_fields.limit:索引中的最大字段数。默认值为1000。
index.mapping.nested_fields.limit:索引中嵌套字段的最大数量默认为50。

相关标签: elasticsearch