Запрос строки даты ElasticSearch

#elasticsearch

Вопрос:

Я работаю над проектом, который позволяет конечным пользователям выполнять поиск по дате рождения. Одно из требований состоит в том, чтобы поиск возвращал «совпадения», когда определенные значения даты рождения переносятся или отключаются всего несколькими символами.

Пример: запись содержит 1983-04-01. Если пользователь ищет точный срок, запись будет возвращена. Следующие поиски также должны соответствовать записи.

1983-01-04
1983-04-02

Это не поиск по диапазону, а в большей степени транспонирование или нечеткость записи.

Мой вопрос в том, как мне проиндексировать это поле и каков наилучший метод поиска, чтобы получить точное совпадение, а также любые возможные совпадения, которые всего на пару символов меньше или данные в строке были перенесены, то есть месяц и дни переключены?