版本: 6.8-8.9
简而言之,当 Elasticsearch 中的 function score 查询为文档返回了无效分数时,就会发生此错误。这可能是由于 function score 查询使用不当或评分函数中的 bug 导致的。要解决此问题,您可以尝试以下操作:1) 检查 function score 查询以确保其格式正确。2) 检查评分函数以确保其正确实现并返回有效分数。3) 将 Elasticsearch 更新到最新版本,因为这可能是已在较新版本中修复的 bug。
日志上下文 #
日志 “function score query returned an invalid score: " + finalScore + " for doc: " 类名是 FunctionScoreQuery.java。 我们从 Elasticsearch 源代码中提取了以下内容,供那些寻求深入上下文的人参考:
if (finalScore < 0f || Float.isNaN(finalScore)) {
/*
These scores are invalid for score based {@link org.apache.lucene.search.TopDocsCollector}s.
See {@link org.apache.lucene.search.TopScoreDocCollector} for details.
*/
throw new ElasticsearchException("function score query returned an invalid score: " + finalScore + " for doc: " + docId);
}
return finalScore;
} protected double computeScore(int docId; float subQueryScore) throws IOException {





