Я не мог найти идеальное решение в Google или ES для следующей ситуации, надеюсь, что кто-то может помочь здесь.
Предположим, что в поле "email" указано пять адресов электронной почты:
1. {"email": "[email protected]"}
2. {"email": "[email protected], [email protected]"}
3. {"email": "[email protected]"}
4. {"email": "[email protected]}
5. {"email": "[email protected]"}
Я хочу выполнить следующие поисковые сценарии:
[Поиск → Получать]
"[email protected]" → 1,2
"[email protected]" → 2,4
"[email protected]" → 5
"john.doe" → 1,2,3,4
"john" → 1,2,3,4,5
"gmail.com" → 1,2
"outlook.com" → 2,3,4
Первые три матча являются ДОЛЖНЫМИ, а для остальных - более точными, тем лучше. Вы уже пробовали разные комбинации анализаторов индексов/поиска, токенизаторов и фильтров. Также пытался работать над условием для совпадений запросов, но не нашел идеального решения, любая мысль приветствуется, и нет ограничений на сопоставления, анализаторы или какой тип запроса, спасибо.