elasticsearch数据迁移/基本操作

1.创建index(database)

curl -XPUT 'http://url:9200/index_name?pretty'
{
    "settings": {
		"number_of_shards": 32,
		"number_of_replicas": 1
	}
}


 

2.查看创建好的索引(database)信息

curl -XGET 'http://url:9200/index_name?pretty'


3.修改settings

curl -XPUT 'http://url:9200/index_name/_settings?pretty'

{
    "index" : {
        "number_of_replicas" : 1
    }
}

4.创建type(table)

curl -XPUT 'http://url:9200/index_name/_mapping/type_name?pretty'
{    
    "index_name": {
        "dynamic": "false",
            "properties": {
                "is_hide": {
                    "store": true,
                    "type": "integer"
                },
                "summary": {
                    "analyzer": "standard",
                    "type": "text"
                },
                "image": {
                    "store": true,
                    "type": "keyword"
                },
                "classify_id": {
                    "store": true,
                    "type": "keyword"
                },
                "editTime": {
                    "format": "yyyy-MM-dd HH:mm:ss",
                    "store": true,
                    "type": "date"
                },
                "version": {
                    "store": true,
                    "type": "keyword"
                },
                "is_top": {
                    "store": true,
                    "type": "integer"
                },
                "tags": {
                    "store": true,
                    "type": "keyword"
                },
                "auto_id": {
                    "store": true,
                    "type": "long"
                },
                "top_end_time": {
                    "format": "yyyy-MM-dd HH:mm:ss",
                    "store": true,
                    "type": "date"
                },
                "infoSWordStatus": {
                    "store": true,
                    "type": "integer"
                },
                "wiki_info_id": {
                    "store": true,
                    "type": "long"
                },
                "r_version": {
                    "store": true,
                    "type": "integer"
                },
                "name": {
                    "store": true,
                    "type": "keyword"
                },
                "secret_class": {
                    "store": true,
                    "type": "integer"
                },
                "infoSWord": {
                    "analyzer": "standard",
                    "type": "text"
                },
                "classifyName": {
                    "store": true,
                    "type": "keyword"
                },
                "read_count": {
                    "store": true,
                    "type": "integer"
            }
    }
}
}

5.按照条件筛选 reindex

curl -XPOST 'http://url:9200/_reindex'
{
    "source": {
        "index": "源index",
        "type": "源index",
        "size": "10000",
        "query": {
            "range": {
                "auto_id": {
                    "lte": 500
                }
            }
        }
    },
    "dest": {
        "index": "新index",
        "type": "新index",
        "op_type": "create"
    }
}


6.删除索引全部数据

curl -XPOST 'http://url:9200/index_name/type_name/_delete_by_query?pretty
{
    "query" : { 
        "match_all" : {}
    }
}

6.1批量删除数据

curl -XPOST 'http://url:9200/index_name/type_name/_delete_by_query?pretty'
{
    "query": {
            "range": {
                "pubtime": {
                    "gte": "2021-01-01 00:00:00",
                    "lt":"2021-02-01 00:00:00"
                }
            }
        }
}


7.查看所有模板

curl -XGET http://url:9200/_cat/templates?pretty

8.查看某一个模板

​
curl -XGET http://url:9200/_template/mblog_info_merged_template?pretty

​

8.1 创建模板

put _template/proj-zx-integration-template_info_data
{
	"template": "info_data-*", // 可以通过 "info_data-*" 来适配
	"order": 0,                // 模板的权重, 多个模板的时候优先匹配用, 值越大, 权重越高
	"settings": {
		"number_of_shards": 32,
		"number_of_replicas": 1
	},
	"aliases" : {
        "info_data_v2" : {}
    }
	"mappings": {
		"_default": {          // 默认的配置
            "_source": { "enabled": false },  // 是否保存字段的原始值
            "_all": { "enabled": false },     // 禁用_all 字段
            "dynamic": "strict"               // 只用定义的字段, 关闭默认的自动类型推断
        },
		"info_data": {

			"dynamic": "false",
			"_source": {
				"enabled": "true"

			},
			"properties": {
				"id": {
					"type": "long",
					"index": "not_analyzed",
					"store": true
				},
				"title": {
					"type": "text",
					"store": true,
					"analyzer": "standard"
				},
				"data_id": {
					"type": "integer",
					"store": true
				},
				"source_url": {
					"type": "keyword",
					"store": true
				},
				"site_name": {
					"type": "keyword",
					"store": true
				},
				"dup_id": {
					"type": "keyword",
					"store": true
				},
				"site_group": {
					"type": "integer",
					"store": true
				},
				"data_type": {
					"type": "integer",
					"store": true
				},
				"is_dup": {
					"type": "integer",
					"store": true
				},
				"task_id": {
					"type": "integer",
					"store": true
				},
				"model_id": {
					"type": "integer",
					"store": true
				}

				,

				"repub_count": {
					"type": "integer",
					"store": true
				},
				"cmt_count": {
					"type": "integer",
					"store": true
				},
				"support_level": {
					"type": "integer",
					"store": true
				},
				"summary": {
					"type": "text",
					"store": true,
					"analyzer": "standard"
				},
				"blogger_id": {
					"type": "keyword",
					"store": true
				},
				"blogger": {
					"type": "keyword",
					"store": true
				},

				"content_source": {
					"type": "text",
					"store": false,
					"analyzer": "standard"
				},

				"title_source": {
					"type": "text",
					"store": true,
					"analyzer": "standard"
				},

				"content": {
					"type": "text",
					"store": false,
					"analyzer": "standard"
				},
				"content_md5": {
					"type": "keyword",
					"store": true
				},
				"pubtime": {
					"type": "date",
					"format": "yyyy-MM-dd HH:mm:ss",
					"store": true
				},
				"pubdate": {
					"type": "date",
					"format": "yyyy-MM-dd",
					"store": true
				},
				"create_time": {
					"type": "date",
					"format": "yyyy-MM-dd HH:mm:ss",
					"store": true
				},

				"content_category": {
					"type": "integer",
					"store": true
				},
				"type_1": {
					"type": "integer",
					"store": true
				},
				"type_2": {
					"type": "integer",
					"store": true
				},
				"relate": {
					"type": "float",
					"store": true
				},
				"truth": {
					"type": "float",
					"store": true
				},
				"model_category_id": {
					"type": "integer",
					"store": true
				}

			}
		}
	}
}

9.删除某一个模板

curl -XDELETE http://url:9200/_template/proj-zx-integration-template_appdata

10.修改配置

curl -XPUT http://10.129.194.1:9200/index_name/_settings -d 
'{"index.number_of_replicas": 5}' 

11.一个ES索引由若干个分片组成,一个分片有若干个Lucene分段,较大的Lucene分段可以更有效的存储数据。

使用_forcemergeAPI 来对分段执行合并操作,通常,我们将分段合并为一个单个的分段:max_num_segments=1

11.1查看某个index的forceMerge情况 

GET /_cat/segments/myindex?v&s=prirep,shard

11.2首先查看我们的index(可以使用正则匹配)当前有多少个segment:

GET _cat/segments/myindex?v&h=shard,segment,size,size.memory


返回结果大约有300个segment条目数。

11.3执行forcemerge:

POST myindex/_forcemerge?max_num_segments=1


这个过程可能执行的时间比较久。

11.4查看各个节点forceMerge的线程数:

GET _cat/thread_pool/force_merge?v&s=name

11.5查看所有index的segment(段)情况和正在进行merge的文档数:

GET /_cat/indices/?s=segmentsCount:desc&v&h=index,segmentsCount,segmentsMemory,memoryTotal,mergesCurrent,mergesCurrentDocs,storeSize,p,r


从返回结果可以看到当前正在进行myindexmerge操作,segmentsCount数量会越来越小。最终会变成每个分片只有一个segment。

11.6查看forceMerge任务详情

GET _tasks?detailed=true&actions=*forcemerge

12.查看索引情况

http://url:9200/_cat/indices?v


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值