下面两个DSL查询都得到了相同的输出。我不能理解constant_score和out之间的关系
有什么关系?与其他产品相比有什么优势吗?
下面是查询DSL示例
{
"query" : {
"constant_score" : {
"filter" : {
"term" : {
"name.keyword": "Anthropology 230"
}
}
}
}第二个示例查询
{
"query": {
"term" : {
"name.keyword": "Anthropology 230"
}
}
}有什么关系?与其他产品相比有什么优势吗?
发布于 2020-07-09 20:45:39
Constant score允许您否定内置的scoring mechanisms
现在你会说,好吧,我明白了,但是我为什么要关心,为什么这是一个功能呢?在您发布的用例中,您并不关心。它实际上只是增加了开销。
那么你什么时候才会关心呢?一种可能的情况是:
您正在使用Disjunction max query根据多个查询获取文档。现在,通常你会被绑定到elastic给出的正常分数。但是,如果您希望这些查询中的某个查询能够带来持续的大幅提升,该怎么办?常量得分让你有能力做到这一点。
您可以找到这样一个案例here的详细示例。
https://stackoverflow.com/questions/62814360
复制相似问题