Немного улучшений
Некоторое время назад я добавил форму поиска. Те, кто читают блог знают, что я мой блог это статический сайт и я храню файлы в облачном хранилище. Откуда и раздаю их в интернет. Чего мне не хватало, так как это поиска на сайте. Но тут возникала проблема о том, как реализовать это без бекенда. Использовать сторонний сервис мне не хотелось, так как это дорого. Напомню, что мой блог на текущий момент просит около 1.5. рублей в месяц. Да, вы не ослышались.
Обычно система поиска строится на базе ElasticSearch. Это софт, который по документам может построить индекс и далее выполняет по нему поиск. Довольно быстро. Мне было нужно что-то подобное, но так, чтобы все я сделал локально и далее выгрузил в хранилище. Вначале я думал локально построить индекс с помощью ElasticSearch и искать по нему с помощью js. Построить индекс проблем нет, искать по нему чуть сложнее. Я начал искать готовую библиотеку и нашел http://elasticlunr.com/. Она умеет все, что мне нужно. В отдельной задаче gulp строим индекс, потом добавляем как входной параметр функции и далее ищем по нему. Дальшу нужно было сделать простеший UI с формой поиска. В строке поиска пишешь текст, в области выпадает результат с названием постов.
Первую часть я сделал давно, а вот до UI дело не доходило и вот пару дней назад я выгрузил обновление. Сделал поле ввода и теперь осталось допилить детали. Сделать так, чтобы при очистке поля скрывались результаты и потестировать релевантность выдачи.
В планах вообще освежить в памяти о том, как вообще у меня тут все работает, мне кажется я не занимался блогом уже год. Хочу дописать статью, которая лежит в черновиках уже больше полугода. В общем пока есть время постараюсь занять его с пользой для себя.
Прошлые записи
- Комната призвания
- Разбираемся с Coroutine в Kotlin - часть четвертая
- Разбираемся с Coroutine в Kotlin - часть третья
- Разбираемся с Coroutine в Kotlin - часть вторая
- Разбираемся с Coroutine в Kotlin - часть первая
- Отпуск длинною в год
- Подходит ли data class для JPA Entity?
- События как источник правды или как я в стартапе участвовал
- Код 2015 против 2023
- Jvm Internals - Перевод
- Мозг против живота или насколько трудно управлять своей жизнью