Начать стоит с Руководства для начинающих по созданию плагинов Discourse, часть 1: создание базового плагина. Я считаю, что вам потребуется гораздо больше опыта, чтобы сформулировать вопрос, достаточно конкретный для того, чтобы кто-то мог дать дельный совет.
Однако, если вы получаете данные для поиска из внешнего источника, возможно, всё можно реализовать в компоненте темы. Ещё раз, мой лучший совет — посмотреть, как в ядре Discourse реализован подобный поиск, например, в элементах категорий и тегов.