Apache Solr

Учебное пособие по Apache Solr

Учебное пособие по Apache Solr
В этом уроке мы увидим, как мы можем использовать Apache Solr для хранения данных и как мы можем выполнять различные запросы к ним.

Что такое Apache Solr

Apache Solr - одна из самых популярных баз данных NoSQL, которую можно использовать для хранения данных и запросов к ним почти в реальном времени. Он основан на Apache Lucene и написан на Java. Как и Elasticsearch, он поддерживает запросы к базе данных через REST API. Это означает, что мы можем использовать простые HTTP-вызовы и использовать HTTP-методы, такие как GET, POST, PUT, DELETE и т. Д. для доступа к данным. Он также предоставляет возможность получать данные в форме XML или JSON через REST API.

Архитектура: Apache Solr

Прежде чем мы сможем начать работать с Apache Solr, мы должны понять компоненты, которые составляют Apache Solr. Давайте посмотрим на некоторые компоненты, которые у него есть:

Архитектура Apache Solr

Обратите внимание, что на рисунке выше показаны только основные компоненты Solr. Давайте разберемся с их функциональностью и здесь:

Начало работы с Apache Solr

Чтобы начать использовать Apache Solr, он должен быть установлен на машине. Для этого прочтите «Установить Apache Solr на Ubuntu».

Убедитесь, что у вас активна установка Solr, если вы хотите попробовать примеры, которые мы представим позже в уроке, и страница администратора доступна на localhost:

Домашняя страница Apache Solr

Вставка данных

Для начала давайте рассмотрим коллекцию в Solr, которую мы называем linux_hint_collection. Нет необходимости явно определять эту коллекцию, поскольку, когда мы вставляем первый объект, коллекция будет создана автоматически. Давайте попробуем наш первый вызов REST API, чтобы вставить новый объект в коллекцию с именем linux_hint_collection.

Вставка данных

curl -X POST -H 'Content-Type: application / json'
'http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binary '

"id": "iduye",
"name": "Шубхам"
'

Вот что мы получаем с помощью этой команды:

Команда для вставки данных в Solr

Данные также можно вставить с помощью домашней страницы Solr, которую мы рассматривали ранее. Давайте попробуем это здесь, чтобы все было ясно:

Вставить данные через домашнюю страницу Solr

Поскольку Solr имеет отличный способ взаимодействия с HTTP RESTful API, с этого момента мы будем демонстрировать взаимодействие с БД с использованием тех же API и не будем уделять особого внимания вставке данных через веб-страницу Solr.

Список всех коллекций

Мы также можем перечислить все коллекции в Apache Solr, используя REST API. Вот команду, которую мы можем использовать:

Список всех коллекций

завиток http: // localhost: 8983 / solr / admin / collections?действия = СПИСОК & wt = json

Посмотрим, что выводит эта команда:

Здесь мы видим две коллекции, которые существуют в нашей установке Solr.

Получить объект по идентификатору

Теперь давайте посмотрим, как мы можем ПОЛУЧИТЬ данные из коллекции Solr с определенным идентификатором. Вот команда REST API:

Получить объект по идентификатору

завиток http: // локальный: 8983 / solr / linux_hint_collection / получить?id = iduye

Вот что мы получаем с помощью этой команды:

Получить все данные

В нашем последнем REST API мы запрашивали данные с использованием определенного идентификатора. На этот раз мы получим все данные, присутствующие в нашей коллекции Solr.

Получить объект по идентификатору

завиток http: // локальный: 8983 / solr / linux_hint_collection / выберите?д = *: *

Вот что мы получаем с помощью этой команды:

Обратите внимание, что мы использовали '*: *' в параметре запроса. Это указывает, что Solr должен возвращать все данные, присутствующие в коллекции. Даже если мы указали, что все данные должны быть возвращены, Solr понимает, что в коллекции может быть большой объем данных, и поэтому, он вернет только первые 10 документов.

Удаление всех данных

До сих пор все API, которые мы пробовали, использовали формат JSON. На этот раз мы попробуем использовать формат XML-запроса. Использование формата XML очень похоже на JSON, поскольку XML также является самоописательным.

Давайте попробуем команду для удаления всех данных, которые есть в нашей коллекции.

Удаление всех данных

curl "http: // localhost: 8983 / solr / linux_hint_collection / update?commit = true "-H" Content-Type: text / xml "--data-binary" *: * "

Вот что мы получаем с помощью этой команды:

Удалить все данные с помощью XML-запроса

Теперь, если мы снова попробуем получить все данные, мы увидим, что данных сейчас нет:

Получить все данные

Общее количество объектов

В качестве последней команды CURL давайте посмотрим на команду, с помощью которой мы можем найти количество объектов, присутствующих в индексе. Вот команда для того же:

Общее количество объектов

curl http: // localhost: 8983 / solr / linux_hint_collection / запрос?отладка = запрос & q = *: *

Вот что мы получаем с помощью этой команды:

Подсчитать количество объектов

Заключение

В этом уроке мы рассмотрели, как мы можем использовать Apache Solr и передавать запросы с помощью curl как в формате JSON, так и в формате XML. Мы также увидели, что панель администратора Solr полезна так же, как и все изученные нами команды curl.

Установите последнюю версию эмулятора Dolphin для Gamecube и Wii в Linux
Эмулятор Dolphin позволяет вам играть в выбранные вами игры Gamecube и Wii на персональных компьютерах (ПК) Linux. Являясь свободно доступным игровым...
Как использовать чит-движок GameConqueror в Linux
В статье содержится руководство по использованию чит-движка GameConqueror в Linux. Многие пользователи, играющие в игры на Windows, часто используют п...
Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...