Поиск ключевых слов в запросе

Здравствуйте.

Имеется простой индекс с ключевыми словами, в моем случае - это имена, следующего вида:
id, name
1 John Lord
2 John Lee Hooker
3 Ritchie Blackmore

Всего имен порядка 100 тысяч. Задача заключается в том, чтобы найти эти имена в пользовательском запросе. Нужны только полные совпадения. Например, запрос "John Lord and Ritchie Blackmore Highway Star" должен вернуть:
id, name
1 John Lord
3 Ritchie Blackmore

Можно ли это сделать средствами ElasticSearch? Если нет, то в какую сторону копать?

А если запрос Lord, John and Blackmore, Ritchie или John Douglas "Jon" Lord?

Такие запросы тоже должны обрабатываться.
Lord, John and Blackmore, Ritchie должен вернуть:
id, name
1 John Lord
3 Ritchie Blackmore

John Douglas "Jon" Lord соответственно:
id, name
1 John Lord

Тогда вам надо копать в сторону "Named-entity recognition".

Большое спасибо.