Обзор работы Solr

Solr — это поисковая платформа для работы с большими объемами данных. Так как Solr может хранить данные, Solr является и нереляционным NoSQL-хранилищем, и платформой для обработки данных.

При отправке поискового запроса к серверу, Solr дробит запросы на более мелкие, а затем находит совпадения по запросу, используя инвертированный индекс документа, созданный ранее. В качестве ответа на запрос, поисковый сервер Solr возвращает набор документов, основываясь на классовой схожести и других критериях, указанных в файлах конфигурации schema.xml и solr.config.

Три основных процесса в работе Solr — это индексация, запрос и ранжирование.

Индексация

Solr использует различные способы для индексации документов и rich-text данных. Solr позволяет загружать документы в формате PDF, CSV, XML — система автоматически распознает и индексирует данные форматы. Также документы можно загружать из электронных писем и вложений к ним.

Для хранения данных Solr использует инвертированный индекс с keyword-ориентированной структурой (не page-ориентированной). Простейшая аналогия данного подхода — алфавитный указатель в конце любой книги, где указаны термин, страницы, где данный термин встречается, и его толкование. Такой подход уменьшает время отклика и позволяет мгновенно возвращать релевантные результаты поиска.

Запрос

Поисковым запросом называется любой поиск по тексту, изображениям или данным геолокации. После отправки запроса к Solr запрос обрабатывается обработчиком запросов, который возвращает документ из Solr-индекса.

Ранжирование результатов поиска

При обработке запросов Solr находит совпадения с данными из индексированных файлов на основании ключевых слов (keywords) и осуществляет ранжирование результатов по релевантности. Результаты поиска имеют иерархичную структуру, основанную на релевантности.

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней