当我在Elasticsearch中使用通配符查询(末尾的通配符)进行搜索时,所有匹配的得分均在1.0中。 这是设计使然吗?我可以在某处更改此行为吗?
答案 0 :(得分:0)
Elasticsearch基本上说所有结果都是同等相关的,因为您提供了不合格的搜索(通配符,等效于match_all
)。通过各种类型查询添加一些其他上下文后,您会注意到评分发生了变化。
根据您的最终目标,您可能需要研究Function Score
查询-参考:https://www.elastic.co/guide/en/elasticsearch/reference/6.7/query-dsl-function-score-query.html
提供的第一个示例将为您提供群集中所有文档的基本随机分数:
GET /_search
{
"query": {
"function_score": {
"query": { "match_all": {} },
"boost": "5",
"random_score": {},
"boost_mode":"multiply"
}
}
}