Эластичный поиск синонимов дает пустые результаты - PullRequest
0 голосов
/ 12 апреля 2019

Я использую elasticsearch-7.0.0.

Я создал индекс со следующей конфигурацией:

{
"settings": {
    "index": {
        "analysis":{
            "analyzer":{
                "synonym":{
                    "tokenizer":"whitespace",
                    "filter":[
                        "synonym"
                    ]
                }
            },
            "filter":{
                "synonym":{
                    "type":"synonym",
                    "synonyms_path":"synonyms.txt"
                }
            }
        }
    }
}

}

Содержимое synonyms.txt:

ny, new york, big apple
ca, california, socal, norcal

У меня есть документ:

{
    "name":"Berry's Burritos",
    "description":"Best burritos in New York",
    "address": {
        "street":"230 W 4th St",
        "city":"New York",
        "state":"NY",
        "zip":"10014"
    },
    "location":[40.7543385,-73.976313],
    "tags":["mexican","tacos","burritos"],
    "rating":"4.3"
}

С этим запросом, где значение такое же, как в документе.(не синоним), он дает результат.

{
    "query":{
        "bool":{
            "filter":{
                "range":{
                    "rating":{
                        "gte":4.0
                    }
                }
            },
            "must":{
                "match":{
                    "address.state":"ny"                
                }
            }
        }
    }
}

Но замена address.state : "ny" на address.state : "new york" не дает результата.

Я что-то здесь упускаю?

...