elasticsearch,highlighting,Performance,Lucene,elasticsearch,Highlighting" /> elasticsearch,highlighting,Performance,Lucene,elasticsearch,Highlighting" />

Performance ElasticSearch和Highlight性能-普通与快速矢量荧光笔

Performance ElasticSearch和Highlight性能-普通与快速矢量荧光笔,performance,lucene,elasticsearch,highlighting,Performance,Lucene,elasticsearch,Highlighting,在运行同时使用slop和事实向量高亮显示的查询时,我遇到了性能问题。有趣的是,当使用普通荧光笔执行相同的查询时,性能问题就消失了,我不知道为什么会出现这种情况 以下是正在搜索的字段的元数据: contents: { store: true search_analyzer: mySearchAnalyzer term_vector: with_positions_offsets type: string } 以下查询使用事实向量高亮显示,耗时超过60秒: { "siz

在运行同时使用slop和事实向量高亮显示的查询时,我遇到了性能问题。有趣的是,当使用普通荧光笔执行相同的查询时,性能问题就消失了,我不知道为什么会出现这种情况

以下是正在搜索的字段的元数据:

contents: {
   store: true
   search_analyzer: mySearchAnalyzer
   term_vector: with_positions_offsets
   type: string
}
以下查询使用事实向量高亮显示,耗时超过60秒:

{
  "size": 500,
  "query": {
    "query_string": {
      "query": "\"CATERPILLAR FINANCIAL SERVICES ASIA PTE LTD\"~5",
      "fields": [
        "contents"
      ],
      "default_operator": "and",
    }
  },
  "highlight": {
    "fields": {
      "contents": {}
    }
  }
}
但是,如果我将查询更改为使用普通分析器,则只需几毫秒:

{
  "size": 500,
  "query": {
    "query_string": {
      "query": "\"CATERPILLAR FINANCIAL SERVICES ASIA PTE LTD\"~5",
      "fields": [
        "contents"
      ],
      "default_operator": "and",
    }
  },
  "highlight": {
    "fields": {
      "contents": {"type" : "plain"}
    }
  }
}
我已经研究了荧光灯的不同选项(如片段大小、片段偏移量、短语限制),但没有什么是显而易见的,因为可以设置什么来提高性能

你知道这里发生了什么吗?或者我可以尝试什么类型的设置来提高性能

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

编辑:我在以下链接中添加了演示问题的复制步骤:


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

根据Duc.Duong的评论,虽然严格来说这不是一个答案,但他无法复制这个问题,我尝试用我们正在使用的版本(0.90.3)和最新的versopm(1.3.2)复制它。事实证明,这不再与最新版本一起复制-搜索会立即返回


因此,归根结底,这一问题不会以最新版本重现。不确定它是在哪里修复的,但问题出现在0.90.3中。

我使用了大约20M记录的_位置_偏移,到目前为止没有问题。它甚至比普通的还要快。你能公布记录的平均数量和
内容的平均长度吗?还有
mySearchAnalyzer
的定义。如果您编写一个完整的bash脚本来创建index/inputsomerecords/query,并将其放在gist上以便于分析,这将是一个好主意。我已在此处添加了复制步骤:。请注意,只需要少量数据即可重现问题。抱歉,公司项目太忙。现在有空回来。我重新创建了索引,无法重现问题,可能是因为数据不够。顺便说一句,你有没有试过用荧光笔发帖子(0.90.6+)?让我们试试b.c.你的内容看起来很长