Как мы делали поиск в elasticsearch на vulners.com
Как мы писали ранее, в качестве основной базы для поиска на сайте используется elasticsearch. Поиск в elastic работает очень быстро и из коробки доступно много полезных функций для работы с данными — полнотекстовый поиск, неточный поиск, всевозможные методы агрегации и тд.
И в отличии от классических SQL баз данных или noSQL типа MongoDB здесь очень удобно делать неточный поиск по всему документу. Для этого используется синтаксис Query DSL. Для полнотекстового поиска по всему документу есть несколько поисковых запросов. У себя на сайте мы используем тип query_string. Этот запрос поддерживает Lucene синтаксис, который позволяет и нам и пользователю создавать сложные запросы в google-style. Вот примеры таких запросов:
title:apache AND title:vulnerability
type:centos cvss.score:[8 TO 10]
Можно сделать вот такой простой запрос и все:
{ "query": { "query_string": { "query": "exploit wordpress" } }}
Но начав впервые использовать query_string, вы столкнетесь с тем, что поиск выдает не то, что вы хотите видеть. Как же добиться от elasticsearch внятного результата поиска?
Читать дальше →
Источник: Хабрахабр
Похожие новости
- API-безопасность 2026: почему защита требует нового подхода
- Мартовское обновление ВКонтакте привело к рекордному росту просмотров
- 30% крупных брендов отказываются от лендингов в пользу чековых ботов, а интерес к промо в Max вырос на 40%
- Реализация требований обеспечения безопасности критической информационной инфраструктуры с помощью автоматизации
- MarketingNews: Не просто космос: как BUNGLY и Московский планетарий делают науку частью жизни
- 48% участников рекламного рынка уже используют ИИ и машинное обучение в своей работе
- Дело 2005г.: Sony BMG против собственных покупателей или как защита от пиратства превратилась в руткит
- Black Box пентест: как один домен привел к полной компрометации инфраструктуры. Часть 2
- Black Box пентест: как один домен привёл к полной компрометации инфраструктуры. Часть 1
- Блог ленивого инвестора: ❓ Почему психологический комфорт - это финансовый актив