angel的编程路 2017-03-02 02:41 采纳率: 33.3%
浏览 6731
已结题

ElasticSearch创建索引如何使用模板?

ElasticSearch通过API可以设置template,设置mapping可以设置每个字段的类型和分词。比如下面的:

 {
        "template": "ld.log-*",
        "order":0,
        "settings": {
            "index.number_of_replicas": "1",
            "index.number_of_shards": "5"
        },
        "mappings": {
            "logs": {
                "properties": {
                    "@timestamp": {
                        "type": "date",
                        "format": "strict_date_optional_time||epoch_millis"
                    },
                    "@version": {
                        "doc_values": true,
                        "index": "not_analyzed",
                        "type": "string"
                    },
                    "Guid": {
                        "doc_values": true,
                        "index": "not_analyzed",
                        "type": "string"
                    },
                    "LogLevel": {
                        "type": "long"
                    }
                }
            }
        }
}

通过发Restful Api来更改模板的办法我知道,但是我现在做的是日志收集,每天都会自动创建新的index,可以用通配符匹配之后建立的索引,但问题是我想让ES部署完毕之后就自动按照我需要的模板建立索引,我觉得发API设模板不能满足我的需求。另外我是将发API写在JAVA程序里的,如果有办法实现,JAVA程序中,应该在什么时机设置这个模板才能让从第一次开始所有索引都按照我的模板建立。

  • 写回答

1条回答 默认 最新

  • 夕阳雨晴 2017-03-02 05:16
    关注

    安装此方式部署spring boot项目,http://blog.csdn.net/moest/article/details/52797857
    使用模板时注入即可
    // 注入ES模板
    @Autowired
    private ElasticsearchTemplate template;

    List<SsoAccess> docList =
        template.queryForList(readerDomainSearchQuery.build(), SsoAccess.class);
    
    评论

报告相同问题?

悬赏问题

  • ¥15 LiBeAs的带隙等于0.997eV,计算阴离子的N和P
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 来真人,不要ai!matlab有关常微分方程的问题求解决,
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法