我有我的要求:
*{
"query": {
"range": {
"@timestamp": {
"gt": "now-8h"
}
}
},
"filter" :{
"term": {
"user-id": "661474"
}
},
"sort": [
{
"@timestamp": {
"order": "asc"
}
}
]
}*
我想在“消息”字段中添加字符串“log out”和“log in”的仅显示文档的过滤器。 但我无法理解我必须在我的请求中放置此过滤器。
答案 0 :(得分:0)
如果您希望将这些值设置为过滤器而不是查询,则以下过滤器将起作用。
这会将您在userid字段上的数字值的现有过滤器与消息字段上的术语过滤器,bool和must关键字结合起来,表示两个过滤器必须评估为true才能返回。
您应该阅读combining过滤器和terms过滤器上的文档,了解其运行方式。
"filter": {
"bool" : {
"must" : [
{"term" : { "user-id" : "661474" } },
{"terms" : { "message" : ["log out", "log in"] } },
]
}
}
编辑以反映评论中的说明:
"query": {
"query_string": {
"default_field": "message",
"query": "log in OR log out"
}
}
可以找到查询字符串语法文档here。