一、索引

  • 创建索引

PUT http://127.0.0.1:9200/book1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
"settings": {
"max_inner_result_window": "50000",
"max_result_window": "50000",
"analysis": {
"analyzer": {
"ngram_analyzer": {
"tokenizer": "ngram_tokenizer"
}
},
"tokenizer": {
"ngram_tokenizer": {
"token_chars": [
"letter",
"digit",
"punctuation"
],
"type": "ngram",
"max_gram": "1"
}
}
}
}
}
  • 设置别名

POST http://127.0.0.1:9200/_aliases

1
2
3
4
5
6
7
8
9
10
{
"actions": [
{
"add": {
"index": "book1",
"alias": "book"
}
}
]
}
  • 创建映射

POST http://127.0.0.1:9200/book1/_mapping/book

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
{
"dynamic": "false",
"properties": {
"inMonth": {
"null_value": "",
"type": "keyword"
},
"number": {
"null_value": "0",
"type": "long"
},
"amount": {
"null_value": 0,
"type": "double"
},
"accountMonth": {
"null_value": "",
"type": "keyword"
},
"accountDate": {
"format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis",
"null_value": "-62167420800000",
"type": "date"
}
}
}

二、修改数据

  • 先创建数据
1
2
3
4
5
PUT twitter/doc/1
{
"name":"jack",
"age":18
}
  • 修改这个文档,有两种方式,一种是完全替换,使用相同的路径即可,我们修改 age 为 35

PUT index/type/id

1
2
3
4
5
PUT twitter/doc/1
{
"name":"jack",
"age":35
}
  • 还一种更新叫做部分更新,你只需指定要更新的字段和该字段的值即可,不用准备完整的 JSON 文档(注意有doc属性包裹),如下:
1
2
3
4
5
6
POST twitter/doc/1/_update
{
"doc" : {
"name" : "mark"
}
}
  • 删除数据 DELETE twitter/doc/1

三、修改配置

PUT http://127.0.0.1:9200/_settings

1
2
3
4
5
6
{
"index": {
"max_result_window": 50000,
"max_inner_result_window" : 50000
}
}

四、其它设置

  • 索引统计 ‘GET /index/_stats’

五、删除数据

POST twitter/_delete_by_query

1
2
3
4
5
{
"query": {
"match_all": {}
}
}

链接

参考