Нужно расширить работу движка Elastic search для улучшения релевантности результатов поиска. При поисковой выдаче, весь список должен быть по умолчанию отсортирован по наличию изображения товара и наибольшему совпадению с поисковой фразой. Наверху выдачи окажется полное совпадение, а дальше - меньшее совпадение в процентном соотношении. Механизм поиска должен работать одинаково в панели администратора (продавца) и на витрине. Также в блоке "заказ" сравнение сделать через поиск эластика.
Пример: допустим, поиск по значению Пушкин выдал 3 результата:
Пушкин том 2
Пушкин том 1
Пушкин том 11
Первичный ключ сортировки - процент совпадения с запросом. Тогда список по первичному ключу будет рассортирован так:
Пушкин том 2 - совпало 6 символов из 12 = 50%
Пушкин том 1 - совпало 6 символов из 12 = 50%
Пушкин том 11 - совпало 6 символов из 13 = 46%
Вторичный ключ сортировки - алфавитный. Тогда список по комбинации двух ключей будет рассортирован так:
Пушкин том 1 - 50% + 1 стоит раньше в алфавите, чем 2
Пушкин том 2 - 50% + 2 стоит позже в алфавите, чем 1
Пушкин том 11 - 46%
То есть алгоритм сортировки поисковой выдачи будет работать по двум ключам - наличие картинки и соответствие алфавит.
Также поиск должен начинаться с 3 символа.