ES一次查询最大数量,默认10000,修改一次查询数量
PUT indexName/_settings
{
"index":{
"max_result_window":2147483647
}
}
ik分词器添加新词需要reindex,如果数据量大,会报503超时,加上wait_for_completion=false可以避免;如果是所有数据,不需要size字段
POST _reindex?wait_for_completion=false
{
"source": {
"index": "old_index",
"size": 1000
},
"dest": {
"index": "new_index",
"op_type": "create"
}
}
数据迁移备份要使用nodejs安装elasticdump 插件
备份索引mapping
elasticdump --input=http://localhost:9200/index_new --output=index_mapping.json --type=mapping
导入索引mapping
elasticdump --output=http://localhost:9200/my_index --input=my_index_mapping.json --type=mapping
导出数据到文件
elasticdump --input=http://localhost:9200/index/type--output=data.json --type=data
带查询条件加上参数—searchBody {}
条件是json传引号要转义
导入数据到es
elasticdump --input=data.json --output=http://localhost:9200/index/type
查询详细信息
GET _cat/indices
查询es健康状态,red:服务不可用,yellow:有问题但能用,green:大草原
GET _cat/health
查询映射
GET 索引/_mapping
复制索引
POST _reindex
{
"size": 1,
"source": {
"index": "旧索引"
},
"dest": {
"index": "新索引",
"op_type": "create"
}
}
删除指定id记录
POST 索引/类型/_delete_by_query
{
"query": {"ids": {"values": ["4555993033487448_JnuDleDfa"]}}
}
根据id查询所有索引中的数据
GET _all/_search
{
"query": {"ids": {"values": ["4555993033487448_JnuDleDfa"]}}
}
模糊查询简单实现wildcard
GET datacenter_dm/_search
{
"_source": [
"id",
"content_title",
"source",
"pub_date"
],
"query": {
"wildcard": {
"content_title.keyword": "*合肥市林业和园林局*"
}
},
"from": 0,
"size": 10
}
字段为text类型,会被自动分词,搜索词过长会查不到,要用keyword,数据量大时不推荐用wildcard,性能不佳