弹性搜索文件名搜索不适用于文件名中的点

时间:2019-04-09 06:05:31

标签: elasticsearch tokenize

我具有如下的Elasticsearch映射:

{
  "info": {
    "properties": {
      "timestamp": {"type":"date","format":"epoch_second"},
      "user": {"type":"keyword" },
      "filename": {"type":"text"}
    }
  }
}

当我尝试对文件名进行匹配查询时,当我在搜索输入中不输入点时,它可以正常工作,但是当包含点时,它会返回许多错误结果。

我了解到标准分析仪是问题所在。它会中断点上的搜索输入,然后搜索。在这种情况下我可以使用什么分析仪?文件名可以是数百万个,我不希望这些文件占用大量内存和时间。请提出建议。

1 个答案:

答案 0 :(得分:0)

当您在这里谈论文件名时,我建议您使用keyword分析器。这不会拆分字符串,而只是按原样对其进行索引。 您也可以将您的映射从文本更改为关键字。