1

我正在查询位置字符串。我的搜索工作方式是将位置作为逗号分隔的列表输入,我用逗号分割列表并为每个位置生成 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 字符串(如“纽约,纽约”或“纽约,纽约,纽约”),但不是“纽约皇后区”。

4

0 回答 0