博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Elasticsearch索引模板和别名
阅读量:4991 次
发布时间:2019-06-12

本文共 2617 字,大约阅读时间需要 8 分钟。

创建模板(模板名和索引名一样都不能有大写)

PUT http://222.108.x.x:9200/_template/templateds

{    "template": "dsideal*",    "order": 0,    "settings": {        "number_of_shards": 5    },    "aliases": {        "dsideal-query": {}      #起个别名    },    "mappings": {        "doc": {            "properties": {                "person_name": {                    "type": "keyword"                },                "gender_id": {                    "type": "long"                },                "bureau_id": {                    "type": "long"                }            }        }    }}

写一些数据

POST http://222.108.x.x:9200/dsideal10/doc/1

{    "person_name": "张三",    "gender_id": 1,    "bureau_id": 2}

POST http://222.108.x.x:9200/dsideal11/doc/2

{    "person_name": "李四",    "gender_id": 2,    "bureau_id": 2}

 会按照模板自动生成两个索引“dsideal10”和“dsideal11”

 

可以利用在创建模板时起的别名进行查询

POST http://222.108.x.x:9200/dsideal-query/_search

{    "size": 10,    "query": {        "bool": {            "must": [                {                    "term": {                        "bureau_id": "2"                    }                }            ]        }    }}

 

创建多个索引别名【备忘】

POST http://222.108.x.x:9200/_aliases

{    "actions" : [        { "add" : { "index" : "dsideal1","alias" : "alias1" } },        { "add" : { "index" : "dsideal2","alias" : "alias1" } }    ]}

 

在创建一个索引时可为这个索引根据条件创建多个别名

POST http://222.108.x.x:9200/test100

{    "aliases" : {        "2014" : {            "filter" : {                "term" : {"year": 2014 }            }        },        "2015" : {            "filter" : {                "term" : {"year": 2015 }            }        },        "2016" : {            "filter" : {                "term" : {"year": 2016 }            }        }    },    "mappings": {        "doc": {            "properties": {                "person_name": {                    "type": "keyword"                },                "year": {                    "type": "long"                },                "bureau_id": {                    "type": "long"                }            }        }    }}

说明:当插入year=2015的数据时可用2015这个别名去查询

测试插入一些数据

{"person_name":"张三","year":2014,"bureau_id":2},{
"person_name":"李四","year":2015,"bureau_id":3},{
"person_name":"王五","year":2015,"bureau_id":3},{
"person_name":"赵六","year":2016,"bureau_id":4}

 post http://222.108.x.x:9200/2015/_search

{    "size": 10,    "query": {        "bool": {            "must": [                {                    "match_all": {                                            }                }            ]        }    }}

就只返回year=2015的数据

转载于:https://www.cnblogs.com/kgdxpr/p/9627527.html

你可能感兴趣的文章
吴裕雄--天生自然 JAVASCRIPT开发学习:输出
查看>>
将已有的工程项目添加到Xcode到Git管理中
查看>>
吴裕雄 实战PYTHON编程(8)
查看>>
xhtml
查看>>
poj 1113 Wall (凸包模板题)
查看>>
cf 535B Tavas and SaDDas
查看>>
OO-面对对象的特征--多态、抽象
查看>>
看准网免登陆查看
查看>>
用pygame实现打飞机游戏-1-搭建框架
查看>>
io编程,bio,nio,aio
查看>>
windows 关于时间的计算
查看>>
面向对象编程思想-代理模式
查看>>
HttpClient获取Cookie的两种方式
查看>>
Windows 7中的电源计划及维护
查看>>
Spring MVC 配置类 WebMvcConfigurerAdapter
查看>>
js获取url参数
查看>>
程序员如何优雅的挣零花钱?
查看>>
推荐 2 个简历模板及 2 大加分技巧
查看>>
关于伪类选择器中一个冒号和两个冒号的区别
查看>>
理解敏捷开发准则
查看>>