es对json做分词时的小问题

之前在创业公司搭建过solr+lucene的搜索服务,当然很不严谨的搭建方式。所以了解过搜索服务的各环节。正好在当前这里要说的问题中用上了。

问题不难,主要是记录解决问题的思路。op搭建了elk收集log,并对log建立索引。我做的服务log message的主要内容是json,无论搜索哪个字段都搜索不到。所以怀疑有以下两个可能:

  • es默认没有对message字段做分词(应该不会)
  • es使用了不适合该场景的analyzer

因为es是对lucene的封装,所以我找了lucene库进行了一些简单的测试,证明StandardAnalyzer是会将json中的符号去掉并分词的,可以达到理想的分词结果。到这里问题解决。

在引用lucene库时遇到了一些小问题,在做java web开发时没有特别关注,就是lucene jar文件需要用与编译这个包相同的jdk版本,问题小,但没有做go之前真的不是很关心版本的问题。

lucene教程

es对json做分词时的小问题
Share this