【发布时间】:2018-01-11 15:11:32
【问题描述】:
我正在将 Elasticsearch 实例从 1.7 升级到 5.4.3,并注意到两个系统之间的搜索结果不同,即使使用相同的查询也是如此。
Elasticsearch 1.7 查询
{
"query": {
"filtered": {
"query": {
"multi_match": {
"query": "something",
"fields": [
"field1",
"field2",
"field3"
],
"operator": "and"
}
}
}
}
}
Elasticsearch 5.4 查询
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "something",
"fields": [
"field1",
"field2",
"field3"
],
"operator": "and"
}
}
]
}
}
}
Elasticsearch 1.7 中的第 1 个搜索结果成为 Elasticsearch 5.4 中的第 71 个结果。当我使用_explain 端点查看 1.7 和 5.4 之间的相同搜索结果时,我发现评分的方式有所不同。此外,此查询包括搜索查询匹配的同义词。
解释 Elasticsearch 1.7
{
"_index": "...",
"_type": "...",
"_id": "...",
"matched": true,
"explanation": {
"value": 9.963562,
"description": "max of:",
"details": [
{
"value": 3.1413355,
"description": "sum of:",
"details": [
{
"value": 1.0609967,
"description": "weight(field1:something in 13) [PerFieldSimilarity], result of:",
"details": [
...remainder removed for brevity
解释 Elasticsearch 5.4
{
"_index": "...",
"_type": "...",
"_id": "...",
"matched": true,
"explanation": {
"value": 7.1987557,
"description": "sum of:",
"details": [
{
"value": 7.1987557,
"description": "max of:",
"details": [
{
"value": 6.659632,
"description": "weight(Synonym(field1:something field1:something2 field1:something3) in 113) [PerFieldSimilarity], result of:",
"details": [
...remainder removed for brevity
问题
- 对于两个版本中的等效查询,我的搜索结果会如此不同,有什么明显的原因吗?
- Elasticsearch 1.7 的
_explain查询显示max of高于sum of的计算结果,而它与Elasticsearch 5.4 的相反这一事实是否表明部分问题?
【问题讨论】:
标签: elasticsearch elasticsearch-5 elasticsearch-2.0