在运行同时使用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"}
}
}
}我已经研究过不同的荧光笔选项(如fragment_size、fragment_offset、phrase_limit),但是没有什么东西能立即说明什么可以提高性能。
对这里发生了什么有什么想法吗?或者我可以尝试什么类型的设置来提高性能?
注意:我们从普通的向量荧光笔切换到事实向量荧光笔的原因之一是因为一些查询失败了。
编辑:我添加了复制步骤,在下面的链接中演示了这个问题:https://drive.google.com/file/d/0B-IfDOojIDnIQmpkY2RNN2pMREE/edit?usp=sharing
我认为关键是有一个字段包含许多类似的值(例如,在这个例子中,卡特彼勒被多次引用)。
发布于 2014-08-29 20:29:48
虽然不是一个严格的答案,基于Duc.Duong的评论,他无法重现这个问题,但我尝试用我们正在使用的版本(0.90.3)和最新的versopm (1.3.2)来复制这个问题。事实证明,这已不再与最新版本-搜索返回立即。
因此,底线是,这个问题没有复制与最新版本。不确定它是在哪里修复的,但问题发生在0.90.3。
https://stackoverflow.com/questions/24962835
复制相似问题