elasticsearch 弹性搜索仅根据字段值对某些文档应用boost
以下是我的索引文档:elasticsearch 弹性搜索仅根据字段值对某些文档应用boost,elasticsearch,kibana,elasticsearch-7,elasticsearch,Kibana,Elasticsearch 7,以下是我的索引文档: { “id”:123, “详情”:{ “boostType”:“Type1”, “boostFactor”:1.00022 } } { “id”:456, “详情”:{ “boostType”:“Type2”, “boostFactor”:1.00022 } } 因此,我只想对具有boostType1的文档应用boost,boost值将为1.00022。下面是我的查询,但它将boost应用于所有文档,我只希望它用于某些boostType。我试着按如下方式做: { “查询
{
“id”:123,
“详情”:{
“boostType”:“Type1”,
“boostFactor”:1.00022
}
}
{
“id”:456,
“详情”:{
“boostType”:“Type2”,
“boostFactor”:1.00022
}
}
因此,我只想对具有boostType1
的文档应用boost,boost值将为1.00022
。下面是我的查询,但它将boost应用于所有文档,我只希望它用于某些boostType
。我试着按如下方式做:
{
“查询”:{
“功能评分”:{
“增压模式”:“总和”,
“职能”:[
{
“字段值系数”:{
“字段”:“details.boostFactor”,
"因素":一,,
“失踪”:1
}
}
]
}
}
}
函数接受额外的过滤器
对象,请阅读此处:,这应该适用于您
{
“查询”:{
“功能评分”:{
“增压模式”:“总和”,
“职能”:[
{
“过滤器”:{
“期限”:{
“details.boostType”:“Type1”
}
},
“字段值系数”:{
“字段”:“details.boostFactor”,
"因素":一,,
“失踪”:1
}
}
]
}
}
}
注意,我已经将boostType
映射为关键字