我正在查询位置字符串。我的搜索工作方式是将位置作为逗号分隔的列表输入,我用逗号分割列表并为每个位置生成 location_raw 查询,如下所示:
{
"match": {
"location.location_raw.synonym": {
"query": "Boston",
"analyzer": "synonyms"
}
}
},
{
"match": {
"location.location_raw.synonym": {
"query": "Massachusetts",
"analyzer": "synonyms"
}
}
}
但是,当我重复诸如“纽约,纽约”之类的术语时,这会导致问题。当该术语仅出现一次时,我会得到匹配项。这是生成的查询,我知道这显然行不通
{
"match": {
"location.location_raw.synonym": {
"query": "New York",
"analyzer": "synonyms"
}
}
},
{
"match": {
"location.location_raw.synonym": {
"query": "New York",
"analyzer": "synonyms"
}
}
}
但我不知道如何解决它。即使我只有一个“匹配”查询,我如何要求该术语至少出现 2 次?如果我搜索“纽约,纽约”,我只想获得至少包含两次“纽约”的 location_raw 字符串(如“纽约,纽约”或“纽约,纽约,纽约”),但不是“纽约皇后区”。