hud*_*udi 5 python elasticsearch
我有两个疑问。一种是在日志消息中搜索,第二种是在时间戳范围内搜索。
query = {
"query": {
"query_string" : {
"query" : "logmessage:test"
}
}
Run Code Online (Sandbox Code Playgroud)
和
query = {
"query": {
"range" : {
"@timestamp" : {
"lte" : "2017-08-04"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我如何创建一个具有这两种选项的产品?我试过这个:
query = {
"query": {
"query_string" : {
"query" : "logmessage:test"
},
"range" : {
"@timestamp" : {
"gte" : "2017-08-04",
"lte" : "now"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
但没有成功。我猜有一些 400 错误是因为语法错误
您正在寻找 bool 查询https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html。您可以使用 should、must、must_not 和 filter 子句将多个查询组合为一个查询:
{
"query": {
"bool": {
"must": [
{
"range": {
"@timestamp": {
"lte": "2017-08-04"
}
}
},
{
"query_string": {
"query": "logmessage:test"
}
}
]
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3354 次 |
| 最近记录: |