【发布时间】:2016-12-21 22:53:38
【问题描述】:
我有一个带有系统环境的 json 对象。如果environment variable does not contain a variable name "JAVA_HOME" 和 还有JAVA_HOME's value is not present in PATH variable,我需要列出该过滤器。这在 Elasticsearch 中可行吗?
下面是我的过滤器
PUT /eg/.percolator/2
{
"query": {
"filtered": {
"query": {
"bool": {
"must": [
{
"match": {
"client.name": "Athena"
}
},
{
"match": {
"client.environment.variable.@name": "JAVA_HOME"
}
}
]
}
}
}
}
}
我的文档
GET /eg/message/_percolate
{
"doc": {
"client": {
"name": "Athena",
"environment": {
"variable": [
{
"@name": "JAVA_HOME",
"@value": "/home/vikrant/Linux/Sandra/java"
},
{
"@name": "PATH",
"@value": "/bin:/sbin:/usr/bin:/usr/sbin:/home/vikrant/Linux/FAS611:/home/vikrant/Linux/FAS611/odbc:/home/vikrant/Linux/Sandra/java/bin:/home/vikrant/Linux/Sandra/server/bin:.:/bin:/usr/bin:/sbin:/usr/sbin:/usr/bin/X11:/usr/local/bin:/usr/local/etc:/etc:/usr/etc:.:/databases/ORACLE/bin:/databases/SYBASE/OCS-15_0/bin:/databases/DB2/bin:/usr/odbc/bin"
}
]
}
}
}
}
【问题讨论】:
-
您当前的查询是否正常工作?您的文档是嵌套的。
标签: json elasticsearch