ElasticSearch和突出显示性能 - 普通与快速矢量荧光笔

Eri*_*ric 5 lucene performance highlighting elasticsearch

运行使用slop和事实向量荧光笔的查询时,我遇到性能问题.有趣的是,当使用普通荧光笔执行相同的查询时,性能问题就消失了,我不确定为什么会这样.

这是搜索字段的元数据:

contents: {
   store: true
   search_analyzer: mySearchAnalyzer
   term_vector: with_positions_offsets
   type: string
}
Run Code Online (Sandbox Code Playgroud)

以下使用事实向量荧光笔的查询需要60秒以上:

{
  "size": 500,
  "query": {
    "query_string": {
      "query": "\"CATERPILLAR FINANCIAL SERVICES ASIA PTE LTD\"~5",
      "fields": [
        "contents"
      ],
      "default_operator": "and",
    }
  },
  "highlight": {
    "fields": {
      "contents": {}
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我将查询更改为使用普通分析器,则只需几毫秒:

{
  "size": 500,
  "query": {
    "query_string": {
      "query": "\"CATERPILLAR FINANCIAL SERVICES ASIA PTE LTD\"~5",
      "fields": [
        "contents"
      ],
      "default_operator": "and",
    }
  },
  "highlight": {
    "fields": {
      "contents": {"type" : "plain"}
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我已经查看了荧光笔的不同选项(例如fragment_size,fragment_offset,phrase_limit),但是没有什么可以立即显示为可以设置以提高性能.

关于这里发生了什么的任何想法?或者我可以尝试什么类型的设置来提高性能?

注意:我们从普通矢量荧光笔切换到事实矢量荧光笔的一个原因是由于某些查询因普通荧光笔而失败.

编辑:我已在以下链接中添加了演示此问题的复制步骤:https: //drive.google.com/file/d/0B-IfDOojIDnIQmpkY2RNN2pMREE/edit?usp =sharing

我认为关键是有一个包含许多相似值的字段(例如,在这种情况下,Caterpillar被多次引用).

Eri*_*ric 0

虽然不是严格意义上的答案,但根据 Duc.Duong 的评论(他无法重现该问题),我尝试使用我们正在使用的版本 (0.90.3) 和最新的 versopm (1.3.2) 重现此问题。事实证明,这不再用最新版本重现 - 搜索立即返回。

因此,最重要的是,最新版本不会重现此问题。不确定在哪里修复,但问题出现在 0.90.3 中。