Я хочу добавить кастомный поисковый движок Google на свой форум. Подскажите, пожалуйста, где и как добавить код кастомного поискового движка в Discourse.
В Discourse уже есть довольно мощный инструмент поиска. Зачем вам добавлять пользовательский поисковый движок Google?
Да, согласен, поиск в Discourse работает отлично. Я никогда не встречал реализацию пользовательского поиска Google, которая работала бы хорошо. Даже если речь идет о получении дохода от рекламы, я думаю, что в целом это окажет негативное влияние.
Я считаю, что нет ничего плохого в том, чтобы попробовать и оценить влияние на выручку. Если это не сработает, мы всегда сможем вернуться назад. Но меня интересует, как именно это реализовать.
Кто-нибудь может помочь мне в этом?
Представить сложно, что было бы легко переопределить встроенный функционал поиска в Discourse. Он тесно интегрирован в саму основу приложения Discourse и работает на уровне базы данных.
Насколько мне известно, кастомный поиск Google просто создаст индекс статического содержимого сайта, что будет гораздо хуже того, что уже есть. Не говоря уже о том, как интегрировать его в интерфейс Discourse (приложение на Ember) ![]()
Я действительно не знаю, как заставить это работать (или зачем вам это нужно!)
Возможно, вам потребуется создать компонент темы, чтобы заменить или изменить компонент или виджет поиска по умолчанию на нужный вам.
Я не очень хорошо знаком с Google Custom Search, но, насколько я понимаю, он может искать только публичные темы. Если это так, то ваши пользователи не смогут искать свои личные сообщения, темы в непубличных категориях, теги, пользователей или группы (мы блокируем индексацию этих страниц) и т. д. Если есть возможность предоставить Google доступ администратора к вашему сайту, это может решить некоторые проблемы, но создаст другие (проблемы конфиденциальности).
Мы поддерживаем Algolia, см. Discourse Algolia Search.
Я почти уверен, что он включает только страницы, проиндексированные Google. Для пользовательского контента это часто лишь небольшой процент.
Заменять встроенную функцию поиска в Discourse не нужно и не рекомендуется.
Однако ничего плохого в добавлении дополнительного поискового инструмента, будь то Google или что-то ещё, нет.
Лучше всего реализовать это через плагин с собственным маршрутом и страницей.
Мой совет @KranthiKiranGude: оставьте функцию поиска в Discourse без изменений и создайте плагин с отдельной страницей / маршрутом для GCS.
Кстати, именно так мы поступили с нашим старым форумом на стеке LAMP.
@neounix: Я не пытаюсь переопределить существующий функционал поиска в Discourse. Я просто хочу добавить виджет или плагин. Было бы здорово, если бы кто-то мог подсказать, как добавить пользовательский HTML-компонент, например Google Custom Search Engine, на все страницы. При этом я оставлю существующий функционал поиска в Discourse без изменений. Просто хотел оценить влияние на выручку.
Привет, @KranthiKiranGude
Исходя из предыдущего опыта внедрения GCSE в форумное приложение, я рекомендую два плагина:
-
Компонент темы для строки поиска GCSE. Затем вы сможете размещать эти строки поиска GCSE в любом месте вашего сайта. Это довольно просто сделать.
-
Плагин для создания страницы Discourse (маршрута) для отображения результатов поиска GCSE. Это будет немного сложнее, чем компонент темы (для отображения строки поиска); поэтому, возможно, стоит опубликовать сообщение на Meta Marketplace и попросить одного из опытных разработчиков плагинов Discourse помочь вам.
Если вы пойдете этим путем, пожалуйста, рассмотрите возможность поделиться этим плагином с сообществом здесь.
Спасибо!
Привет, @neounix,
Не могли бы вы помочь мне с примером фрагмента кода для вашего предложения 1? Я попытался вставить код GCSE в секцию темы, но при предварительном просмотре он не отображается.
Спасибо.
Привет, @KranthiKiranGude!
Ссылка ниже — отличное место для начала. Также вы можете поискать в Meta по ключевым словам «theme component» (компонент темы).
См. также:
А также https://github.com/topics/discourse-theme-component (примеры кода):
https://github.com/topics/discourse-theme-component
Удачи!
Я включил скрипт GCSE в раздел «Редактировать CSS/HTML». Однако поле поиска не отображается. Я вижу код в исходном коде страницы, но элемент не виден в интерфейсе.
Раньше, когда поиск в Discourse выдавал ноль результатов, появлялась кнопка с надписью «Искать на вашем сайте через Google». Она была не более полезной, чем просто открыть поиск Google с уже заполненным запросом:
“site:вашеимясайта.com”