当前位置: 首页 > 面试题库 >

如何在Kibana Discovery中使用斜杠('/')?

邹玄裳
2023-03-14
问题内容

我正在为Nginx访问日志测试ELK堆栈。看起来不错,除非我没有找到在Kibana
Discovery(v5.3.2)中以开头的路径搜索记录的方法"/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": {
  "type": "string", 
  "index": "not_analyzed",    <--- change this
},

请注意,您需要删除索引并使用正确的映射重新创建索引才能使其正常工作。

之后,您将可以使用以下查询进行搜索 path:"/test/a"



 类似资料:
  • 我尝试了许多方法从已执行的(我不是指从输入)中获得单个反斜杠。 我可以将特殊字符作为tab、new line和许多其他字符,然后将它们转义为或或,但当非特殊字符在旁边时,我不能获得单个反斜杠。 我不想要这样的东西: 如果我尝试在0处获取字符,则得到而不是。

  • 有了上面的代码,我可以通过DM bot使用slash命令。但是,如何在通道中使用斜杠命令? 它在不和谐的开发者文档中说: 为了使斜杠命令在公会中起作用,公会必须使用应用程序授权您的应用程序。命令范围。bot的范围还不够。 如何使用JDA实现这一点?

  • 问题内容: 我需要反斜杠才能成为字符串的一部分。我该怎么做? 问题答案: 当反斜杠不能转义字符串的终止引号或以其他方式创建有效的转义序列(用双引号引起来的字符串)时,这两种方法中的任一个都会产生一个反斜杠: 当转义下一个字符会导致解析错误(字符串的引号终止)或有效的转义序列(双引号的字符串)时,则需要转义反斜杠:

  • 我正在尝试转义字符串中的正斜杠,它可以在使用Java的路径中使用。 例如: 现在我想使用上面的字符串路径。同时,我必须确保将像在路径中一样出现。对不起,如果它是重复的,但我找不到任何满意的解决办法。我的目的是使用上面的字符串在ZooKeeper中创建节点。 示例: 如果我使用下面的字符串在Zokkeeper中创建节点,那么我应该将“test/world”作为一个单独的节点而不是单独的节点。Zook

  • 问题内容: 我正在将CSV文件导入MySQL数据库。可以通过支持文件路径中的正斜杠来实现。如果用户给出路径 MySQL不支持这种类型的路径模式。我想在路径中搜索反斜杠并将其替换为正斜杠,以实现以下目的: 怎么做? 问题答案: 在Java中,使用以下命令: 注意,这里不需要replace的正则表达式版本,即;仍会替换所有出现的搜索词,但会搜索 文字 字符串,而不是正则表达式匹配项。

  • 我拥有以下实体: 以下是jaxb适配器: 我有一个jaxrs服务,它接受体FilePartners的POST请求: 我想要实现的是禁止在FilePartners实体的标识符属性中使用斜杠'/'。今天,我使用一些jaxb适配器来做这件事,它在解组时简单地从id中剥离所有斜杠。相反,我想要的是返回一个适当的BAD_REQUEST异常给用户。 我尝试在jaxb适配器的unmarshal方法中抛出异常,但