Sylius 1.0 с эластичным поиском

Недавно я обновил sylius с 0.18 до 1.0@dev и потерял поддержку elasticsearch, так как SyliusSearchBundle больше не входит в ядро. У меня больше нет ни поиска, ни огранки.

Что я пробовал:

  • Я добавил вручную SyliusSearchBundle
  • Я сделал несколько исправлений в конфигурации
  • Я запустил команду sylius:search:index

Мои продукты полностью проиндексированы. Но теперь, когда страницы таксонов обрабатываются как ресурсы, запросы выполняются непосредственно в базу данных, а не в elasticsearch.

Какие шаги необходимо выполнить, чтобы запросить страницу таксона в elasticsearch? На странице документации для SyliusResourceBundle я вижу, что Elasticsearch еще не поддерживается. :

Пока мы поддерживаем:

  • Доктрина ОРМ
  • Доктрина MongoDB ODM
  • Доктрина PHPCR ODM
  • InMemory (скоро)
  • Эластичный поиск (возможно)

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

Спасибо за вашу помощь


person Matthieu Remy    schedule 14.09.2016    source источник


Ответы (1)


Вы не хотите, чтобы драйвер хранилища был эластичным для ваших ресурсов, а предпочел бы, чтобы он функционировал как вторичное более быстрое хранилище, которое вы используете в некоторых случаях.

Я предполагаю, что вы используете FOSElasticaBundle, поэтому у вас есть хороший API для работы с вашими индексами elasticsearch.

Например, когда вы находитесь на странице поиска, вы захотите иметь свой собственный SearchController, который использует службы elasticsearch для выполнения своей работы. Затем вы можете просто использовать агрегации/фасеты в своем шаблоне. Дополнительную информацию об этом см. в FOSElasticaBundle документах.

person Steffen Brem    schedule 14.09.2016
comment
Итак, я понимаю, что мне нужно написать собственные контроллеры для страницы поиска и страницы таксона. Спасибо - person Matthieu Remy; 14.09.2016