Есть сайт с фронтом на vue.js , соответственно множество страниц отрисовывается через компоненты vue.js. Как в общих чертах создать индекс в эластике на основе этих файлов?
Почему странноват? Попросили сделать поиск по сайту (раньше не приходилось), решили, что надо на эластике, но я в ней только-только разбираюсь, а сайта фронт на vue. Поняв примерно, что из себя представляет индекс и как в общих чертах работает поиск, пришёл к этому вопросу.
так в поиск же код не вставляют, а данные, которые Vue откуда-то берет (из базы) можно оттуда же в Эластик и всунуть, т.е. лотрисовка страницы к поиску отношения не имеет
ЕСЛИ конечно над данными есть контроль, если это чужой сайт - тогда да, приходится раблотать с тем что есть, впрочем - и тогда парсинг можно сделать
Dimonchik, а если сайт сам по себе такой, что у него блоки с инфой очень разнообразные и их много, и поэтому часть контента зашита прямо в шаблоны, это нормально? Или вообще весь без исключения контент должен храниться в БД и подтягиваться в шаблоны оттуда?
vladimirir, по нормальному - конечно, все из БД, CMS же - мало ли что и когда обновлять - мультиязычность, опять же, когнтроль контента (ну там копирайт какой бренд выкинуть или переименоватт),
но по-бизнесовому (это когда хуяк хуяк и в продакшен) - могут конечно как угодно делать, дешево и сердито так сказать
может это статический сайт - но опять же, там все в Markdown каком нибудь но в любом случае отдельно от кода должно быть
Dimonchik, а не получится так, что у нас тогда из-за того, что на каждой вьюшной странице есть запрос в БД через тот же axios, загрузка контента получается дольше, чем если бы он уже статично был в шаблонах? Я вообще и сам за то, чтобы весь контент был максимально в БД, и казалось всегда, что так и должно быть
vladimirir, получится, но, во-первых, в страницы он должен попадать из БД (тот самый staticgen) , во-вторых - есть же кеширования у базы, надо грамотно проектировать просто
тут дело вот в чем: если ставится Vue ( ну - любой другой фреймворк), значит идет взаимодействие с пользователем - как минимум куки там и проч, значит - задействована БД, иначе был бы просто статический сайт
конечно, так делают и просто SPA для , в основном, мобил, но затраты на Vue программера чем-то обусловлены же? иначе - зачем программисты вообще? деавочка на Вордпрессе или любом статик сайте или WiX ))
У нас просто сайт, у которого бэк на битре, а фронт на Vue, и вот часть страниц имеют какую-то динамическую подгрузку контента через axios (вызываются рест-методы, в которых вызываются методы битры, возвращающие данных из базы битры), часть имеют зашитый в них статический контент, часть и то и другое. И, кажется, что если весь контент убрать в базу, то время полной загрузки страниц сильно увеличится. Прошу прощения за немного оффтоп, но а если нам требуется какой-то пререндер ещё для поисковых роботов, существует какой-то вариант для того, чтобы на сервере срендерилось приложение полностью (то есть, уже прошли все axios-запросы и получены все данные из БД), а пользователю вернулось уже как SPA, в котором уже загружены все данные, а переходы между страницами идут без перезагрузки? Тут просто один вопрос вызвал другой