如何 select bool 查询中只有一个分支

How to select only one branch in bool query

我有一份文件清单

[
  {
    "shortName": "CA",
    "longName": "California"
  },
  {
    "shortName": "New York",
    "longName": "New York"
  },
]

如何将查询配置为 select 只有匹配的第一个字段,例如 maximumSouldMatch=1

例如,如果我搜索 New York,它应该只匹配 shortName 而不是两者都匹配,因为在这种情况下得分会加倍

使用 multi_match query with the best_fields type(恰好是默认值),返回的分数将是最匹配的字段之一,但如果两个字段都匹配则不会合并(就像 most_fieldscross_fields)

{
  "query": {
    "multi_match" : {
      "query" : "New York",
      "fields" : [ "shortName", "longName" ] 
    }
  }
}