我想搜索firstField
(映射为文本)类似于查询字符串或secondField
(映射为整数)等于1的项目。
阅读the docs后,我了解我应该将bool
与should
一起使用(如here所述):
{
"query": {
"bool": {
"should": [
{"match": {"firstField": "queryString"}},{"term": {"secondField": 1}}
]
}
}
}
然而,结果表明secondField
对结果的贡献远小于firstField
,因为它们的评分算法产生了不同的标度。
我正在考虑人为地boost
secondField
(尽管我猜想这仅在某些情况下有效)或规范化firstField
以某种方式表示百分比而不是任意分数。
是否有适当的方法赋予每个字段相同的权重?
注意:我正在使用ES 7.x
。