我有一个nginx-> fluentd-> elasticsearch-> kibana堆叠并运行。试图弄清楚我是否可以像“条款”面板那样做一些事情但是使用日志中的路径字符串组件。直接使用术语面板会产生路径中最常用的单词,例如:对于drupal,它将“节点”显示为最受欢迎的节点,如果没有实际的节点ID则无用。
这与弹性搜索有关吗?
更新:以下是我的日志示例:
"path": "/node/123"
"path": "/node/456"
"path": "/user/create"
如果我为“path”字段添加“terms”面板,我会得到“node”,“user”,“create”的列,这些列没有统计意义。我需要的是一个术语面板,它汇总了唯一的字段值,而不是字段中唯一的单词部分。
答案 0 :(得分:1)
您需要配置Elasticsearch的映射,以将“路径”字段设置为“未分析”字段。默认设置为“已分析”,默认情况下,ES会解析字符串字段并在可能的情况下将它们分成多个标记,这可能就是您的情况。请参阅this related question。
至于如何配置Elasticsearch的映射,我还在挖掘,我想要能够排序的多令牌字符串本身有类似的问题。看起来会有一个put map API或使用配置文件的可能性,请参阅here。