elasticsearch,logstash,kibana,Filter,elasticsearch,Logstash,Kibana" /> elasticsearch,logstash,kibana,Filter,elasticsearch,Logstash,Kibana" />

Filter 指定索引别名上的路由';s术语查找过滤器

Filter 指定索引别名上的路由';s术语查找过滤器,filter,elasticsearch,logstash,kibana,Filter,elasticsearch,Logstash,Kibana,我正在使用Logstash、ElasticSearch和Kibana允许多个用户登录并查看他们转发的日志数据。我已经为每个用户创建了索引别名。这些限制了他们的结果只包含他们自己的数据 我希望将用户分配到组,并允许用户查看其组中计算机的数据。我在组和用户之间创建了父子关系,并在别名上创建了术语查找筛选器 我的问题是,当我尝试应用别名时,我收到一个RoutingMissingException 是否有方法指定术语查找筛选器的路由?如何在父文档上查找术语 我在下面发布了地图和别名,但是这里有完整的要点

我正在使用LogstashElasticSearchKibana允许多个用户登录并查看他们转发的日志数据。我已经为每个用户创建了索引别名。这些限制了他们的结果只包含他们自己的数据

我希望将用户分配到组,并允许用户查看其组中计算机的数据。我在组和用户之间创建了父子关系,并在别名上创建了术语查找筛选器

我的问题是,当我尝试应用别名时,我收到一个
RoutingMissingException

是否有方法指定术语查找筛选器的路由?如何在父文档上查找术语

我在下面发布了地图和别名,但是这里有完整的要点

curl-XPUT'http://localhost:9200/accesscontrol/“-d”{
“映射”:{
“集团”:{
“财产”:{
“名称”:{“类型”:“字符串”},
“主机”:{“类型”:“字符串”}
}
},
“用户”:{
“_parent”:{“type”:“group”},
“_路由”:{“必需”:true,“路径”:“组id”},
“财产”:{
“名称”:{“类型”:“字符串”},
“组id”:{“类型”:“字符串”}
}
}
}
}'
#为cvializ创建日志存储别名
curl-XPOST'http://localhost:9200/_aliases“-d”
{
“行动”:[
{“删除”:{“索引”:“logstash-2014.04.25”,“别名”:“cvializ-logstash-2014.04.25”},
{ 
“加:{
“索引”:“logstash-2014.04.25”,
“别名”:“cvializ-logstash-2014.04.25”,
“路由”:“实习生”,
“过滤器”:{
“条款”:{
“主持人”:{
“索引”:“访问控制”,
“类型”:“用户”,
“id”:“cvializ”,
“路径”:“组.主机”
},
“\u缓存\u密钥”:“cvializ\u主机”
}
}
}
}
]
}'

在试图找到此错误的解决方法时,我向ElasticSearch团队报告,并收到了他们的答复。这是ElasticSearch中的一个缺陷,在动态映射之前应用了过滤器,导致了一些错误的输出。我已将他们的解决方法包括在下面:

PUT /accesscontrol/group/admin
{
    "name" : "admin",
    "hosts" : ["computer1","computer2","computer3"]
}


PUT /_template/admin_group
{
    "template" : "logstash-*",
    "aliases" : {        
        "template-admin-{index}" : {
            "filter" : {
                "terms" : {
                    "host" : {
                        "index" : "accesscontrol",
                        "type" : "group",
                        "id" : "admin",
                        "path" : "hosts"
                    }
                }
            }
        }
    },
    "mappings": {
      "example" : {
        "properties": {
          "host" : {
            "type" : "string"
          }  
        } 
      }
    }
}


POST /logstash-2014.05.09/example/1
{
    "message":"my sample data",
    "@version":"1",
    "@timestamp":"2014-05-09T16:25:45.613Z",
    "type":"example",
    "host":"computer1"
}


GET /template-admin-logstash-2014.05.09/_search