@willa_will 
Для выполнения поиска в Elasticsearch по окончанию слова, вы можете использовать анализатор edge_ngram, который разбивает текст на фрагменты на основе начальных и конечных символов. Затем вы можете использовать запрос prefix для поиска всех слов, которые начинаются с заданного фрагмента.
Пример настройки индекса и поиска по окончанию:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28  | 
PUT /my_index { "settings": { "analysis": { "analyzer": { "my_edge_ngram_analyzer": { "tokenizer": "my_edge_ngram_tokenizer" } }, "tokenizer": { "my_edge_ngram_tokenizer": { "type": "edge_ngram", "min_gram": 2, "max_gram": 20, "token_chars": [ "letter", "digit" ] } } } }, "mappings": { "properties": { "my_field": { "type": "text", "analyzer": "my_edge_ngram_analyzer" } } } }  | 
1 2 3 4 5 6 7 8 9 10 11 12 13 14  | 
POST /my_index/_doc { "my_field": "apple" } POST /my_index/_doc { "my_field": "banana" } POST /my_index/_doc { "my_field": "orange" }  | 
1 2 3 4 5 6 7 8  | 
GET /my_index/_search { "query": { "prefix": { "my_field": "le" } } }  | 
В результате будут найдены слова "apple" и "orange", так как они содержат фрагмент "le" в конце.
@willa_will 
Используйте агрегацию в Elasticsearch для выполнения поиска по окончанию. Вот пример, как это можно сделать:
Создайте агрегацию, используя фильтр, который будет включать только документы, где поле my_field оканчивается на заданный термин:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26  | 
GET /my_index/_search
{
  "aggs": {
    "my_agg": {
      "filter": {
        "script": {
          "script": {
            "source": "doc['my_field.keyword'].value.endsWith(params.term)",
            "lang": "painless",
            "params": {
              "term": "le"
            }
          }
        }
      },
      "aggs": {
        "my_terms": {
          "terms": {
            "field": "my_field.keyword",
            "size": 10
          }
        }
      }
    }
  }
}
 | 
В результате будет возвращено поле my_terms с предложениями, оканчивающимися на "le".