Apache Solr
Apache Solr - одна из самых популярных баз данных NoSQL, которую можно использовать для хранения данных и запросов к ним почти в реальном времени. Он основан на Apache Lucene и написан на Java. Как и Elasticsearch, он поддерживает запросы к базе данных через REST API. Это означает, что мы можем использовать простые HTTP-вызовы и использовать HTTP-методы, такие как GET, POST, PUT, DELETE и т. Д. для доступа к данным. Он также предоставляет возможность получить форму XML или JSON через REST API.
В этом уроке мы изучим, как установить Apache Solr в Ubuntu и начать работать с ним с помощью базового набора запросов к базе данных.
Установка Java
Чтобы установить Solr в Ubuntu, мы должны сначала установить Java. Java может быть не установлена по умолчанию. Мы можем проверить это с помощью этой команды:
java -versionКогда мы запускаем эту команду, мы получаем следующий вывод:
Теперь мы установим Java в нашу систему. Используйте эту команду для этого:
sudo add-apt-репозиторий ppa: webupd8team / javasudo apt-get update
sudo apt-get установить oracle-java8-installer
После того, как эти команды будут выполнены, мы можем снова проверить, что Java теперь установлена, используя ту же команду.
Установка Apache Solr
Теперь мы начнем с установки Apache Solr, что на самом деле представляет собой всего лишь несколько команд.
Чтобы установить Solr, мы должны знать, что Solr не работает и не работает сам по себе, скорее, для запуска ему нужен контейнер Java Servlet, например, контейнеры Jetty или Tomcat Servlet. В этом уроке мы будем использовать сервер Tomcat, но использование Jetty довольно похоже.
Преимущество Ubuntu в том, что он предоставляет три пакета, с помощью которых Solr можно легко установить и запустить. Они есть:
- solr-common
- Solr-tomcat
- солончак
Само собой разумеется, что solr-common требуется для обоих контейнеров, тогда как solr-jetty требуется для Jetty, а solr-tomcat требуется только для сервера Tomcat. Поскольку мы уже установили Java, мы можем загрузить пакет Solr с помощью этой команды:
sudo wget http: // www-eu.апач.org / dist / lucene / solr / 7.2.1 / solr-7.2.1.застегиватьПоскольку этот пакет включает в себя множество пакетов, включая сервер Tomcat, загрузка и установка всего может занять несколько минут. Загрузите последнюю версию файлов Solr отсюда.
После завершения установки мы можем распаковать файл, используя следующую команду:
распаковать -q solr-7.2.1.застегиватьТеперь измените свой каталог на zip-файл, и вы увидите внутри следующие файлы:
Запуск узла Apache Solr
Теперь, когда мы загрузили пакеты Apache Solr на нашу машину, мы можем делать больше как разработчик из интерфейса узла, поэтому мы запустим экземпляр узла для Solr, где мы действительно можем создавать коллекции, хранить данные и делать запросы с возможностью поиска.
Выполните следующую команду, чтобы начать настройку кластера:
./ bin / solr start -e облакоС помощью этой команды мы увидим следующий вывод:
Будет задано много вопросов, но мы настроим одноузловой кластер Solr со всей конфигурацией по умолчанию. Как показано на последнем шаге, интерфейс узла Solr будет доступен по адресу:
где 8983 - порт по умолчанию для узла. Как только мы перейдем по указанному выше URL-адресу, мы увидим интерфейс узла:
Использование коллекций в Solr
Теперь, когда интерфейс нашего узла запущен и работает, мы можем создать коллекцию с помощью команды:
./ bin / solr create_collection -c linux_hint_collectionи мы увидим следующий результат:
На данный момент избегайте предупреждений. Теперь мы даже можем увидеть коллекцию в интерфейсе Node:
Теперь мы можем начать с определения схемы в Apache Solr, выбрав раздел схемы:
Теперь мы можем начать вставку данных в наши коллекции. Давайте вставим здесь JSON-документ в нашу коллекцию:
curl -X POST -H 'Content-Type: application / json''http: // localhost: 8983 / solr / linux_hint_collection / update / json / docs' --data-binary '
"id": "iduye",
"name": "Шубхам"
'
Мы увидим успешный ответ на эту команду:
В качестве последней команды давайте посмотрим, как мы можем ПОЛУЧИТЬ все данные из коллекции Solr:
Мы увидим следующий вывод: