前言: 搜索商品,搜索条件的 term frequency和norms 已经禁用了,只有 idf ,也就是说得分只受包含搜索词的总文档数影响。索引写入已经关闭了,线上排查问题的时候只有查询。
现象:搜索 ‘维修’这个词,多次搜索跑排序结果不同。
排查结论:通过explain分析发现,两次的idf是不一样的,多次查询的idf在两个值之间变。
结果截图:
两个结果的maxDocs确实不一样,但是确实没有写入来了,因为如果还有写入,那后面几次测试结果不应该在这两个值之间来回变,而是maxDocs应该一直增长才对。
最后,贴一下索引的查询条件:
求大神帮忙排查
现象:搜索 ‘维修’这个词,多次搜索跑排序结果不同。
排查结论:通过explain分析发现,两次的idf是不一样的,多次查询的idf在两个值之间变。
结果截图:
两个结果的maxDocs确实不一样,但是确实没有写入来了,因为如果还有写入,那后面几次测试结果不应该在这两个值之间来回变,而是maxDocs应该一直增长才对。
最后,贴一下索引的查询条件:
{
"from" : 0,
"size" : 1000,
"query" : {
"filtered" : {
"query" : {
"bool" : {
"must" : {
"match" : {
"queryStr" : {
"query" : "维修",
"type" : "boolean",
"analyzer" : "ik_smart",
"minimum_should_match" : "100%"
}
}
},
"should" : {
"term" : {
"providertype" : {
"value" : 3,
"boost" : 100.0
}
}
}
}
},
"filter" : {
"bool" : {
"filter" : [ {
"term" : {
"type" : 0
}
}, {
"term" : {
"cityId" : 1
}
}, {
"terms" : {
"backCateIds" : [ 32, 33, 31 ]
}
} ]
}
}
}
},
"sort" : [ {
"_score" : {
"order" : "desc",
"missing" : "_last",
"mode" : "MIN"
}
}]
}
求大神帮忙排查
0 个回复