我正在为Nginx访问日志测试ELK堆栈。看起来不错,除非我没有找到在Kibana Discovery(v5.3.2)中以开头的路径搜索记录的方法"/test/a"。如果我删除了斜杠,搜索就会起作用,但是在这种情况下,我得到了我不需要的东西-"/ololo/ololo?test=1"
"/test/a"
"/ololo/ololo?test=1"
我尝试了不同的请求:
path:/\/test\/a/ path:/\\/test\\/a/ path:"/test/a" path:"\/test\/a" path:"\\/test\\/a"
但没有什么能像我期望的那样。
记录:
[ { ... "path": "/test/a1" ... }, { ... "path": "/test/a2" ... }, { ... "path": "/ololo/ololo?test=1" ... }, ]
对应:
"path": { "type": "string", "index": "analyzed", },
有没有办法使用斜杠作为模式的一部分进行搜索?
更新:
这些模式也不起作用:
path:/.*\/test\/a.*/ path:/[\/]test[\/]a/
您需要将path字段的映射更改为不进行分析,否则斜杠将不会被索引。
path
映射应如下所示:
"path": { "type": "string", "index": "not_analyzed", <--- change this },
请注意,您需要删除索引并使用正确的映射重新创建索引才能使其正常工作。
之后,您将可以使用以下查询进行搜索 path:"/test/a"
path:"/test/a"