Как начать работу с Elasticsearch без какой-либо опасности, я внимателен

Java Elasticsearch

Учиться - это действительно счастливая вещь, в последний раз поделисьНачало работы с RedisПосле статьи я получил много поощрений от своих друзей, таких как: «О, неплохо, второй брат, это легко понять, и действительно легко начать работу за десять минут». Смотри, смотри, я решил приложить настойчивые усилия и начать работу с Elasticsearch, потому что система торгового центра нашей компании была обновлена, и нам нужно использовать Elasticsearch для поиска продуктов.

Прежде всего, однако, я хотел бы заявить, что я не углублялся в Elasticsearch, просто потому, что я собираюсь его использовать, я изучаю его. Но как ответственный технологический блогер, я внимательна, поэтому в определенное время купила видеокурс Автор Руан Имин. Честно говоря, макушка его лысины меня на ходу зацепила.

После трех дней и трех ночей учебы я наконец-то добрался до двери Elasticsearch.Решил поделиться этим опытом.Заинтересованные друзья могут использовать его как ссылку. Если встретите ошибки в статье, не будьте милосердны, приходите и бейте меня, лишь бы по морде не дали.

01. Что такое Elasticsearch

Elasticsearch — это распределенная система RESTful для поиска и анализа данных, которая подходит для широкого спектра возникающих вариантов использования. Являясь сердцем Elastic Stack, он централизованно хранит ваши данные, помогая вам обнаруживать неожиданное и неожиданное.

Вышеприведенная цитата исходит от официального лица, должен сказать, объяснение вполне литературное. Неожиданные и неожиданные, эти два слова напоминают мне вопросы сочинения для вступительных экзаменов в колледж определенного года (разумные и неожиданные).

Что такое эластичный стек? Вся схема архитектуры показана на следующем рисунке (от сети, вторжения и удаления).

Много информации, да? Тогда запомните одно предложение: Elasticsearch — это ядро ​​Elastic Stack.

Elasticsearch используют многие известные компании в стране и за рубежом, такие как Didi, Toutiao, Google, Microsoft и так далее. Elasticsearch имеет множество мощных функций, таких как полнотекстовый поиск, рекомендации по покупкам, рекомендации по близлежащим местам и многое другое.

Не буду много говорить о теоретическом содержании, боюсь друзьям будет скучно. Ведь главное начать.

02. Установите эластичный поиск

Elasticsearch разработан на Java, поэтому для поддержки более ранних версий на компьютере должен быть установлен JDK. Более поздние версии имеют встроенную среду Java, поэтому просто загрузите ее напрямую. У Elasticsearch есть разные установочные пакеты для разных операционных систем.В качестве примера для этой вводной статьи возьмем Windows.

Адрес загрузки следующий:

woohoo.elastic.co/capable/download…

Последняя версия 7.6.2, около 280M. Но на загрузку у меня ушло минут 10. Не знаю, то ли подключенной 200М полосы пропускания мало, то ли скорость загрузки самого официального сайта медленная, так или иначе, я пошел помыть 6 виноградин и съел их.

Elasticsearch можно установить бесплатно, просто разархивируйте zip-архив.

1) В каталоге bin есть несколько файлов сценариев, в том числе файл запуска Elasticsearch.

2) В каталоге config есть несколько файлов конфигурации.

3) Каталог jdk — это встроенная среда выполнения Java.

4) Каталог lib содержит некоторые файлы библиотеки классов Java.

5) Некоторые файлы журналов будут созданы в каталоге журналов.

6) Каталог модулей содержит несколько модулей Elasticsearch.

7) Некоторые плагины Elasticsearch можно разместить в каталоге плагинов.

Дважды щелкните файл elasticsearch.bat в каталоге bin, чтобы запустить службу Elasticsearch.

Информации в журнале вывода слишком много, не смотрите внимательно, обратите внимание на слово «запущено», указывающее на то, что запуск прошел успешно. Для дальнейшего подтверждения успешности запуска Elasticsearch можно ввести в адресной строке браузераhttp://localhost:9200Проверьте это (9200 — это номер порта по умолчанию для Elasticsearch).

Вы видите, для поиска.

Итак, как остановить службу? можно напрямую нажатьCtrl+CКомбинация клавиш - грубая, стена.

03. Установите Кибану

Через Kibana мы можем визуализировать сервис Elasticsearch, точно так же, как установка графического интерфейса под операционную систему Linux.

Адрес загрузки следующий:

woohoo.elastic.co/capable/download…

Последняя версия — 7.6.2, около 284 МБ, что примерно равно размеру Elasticsearch. Выберите загрузку версии для Windows в формате zip и разархивируйте ее сразу после завершения. В процессе загрузки я пошел мыть 6 виноградин, чтобы съесть собачью голову.

Каталог пакетов больше не объясняется по одному.Войдите в каталог bin, дважды щелкните, чтобы запустить файл kibana.bat, и запустите службу Kibana. Весь процесс немного медленнее, чем Elasticsearch, если увидеть[Kibana][http] http server runningПосле отображения сообщения служба успешно запущена.

Введите в адресной строке браузераhttp://localhost:5601Ознакомьтесь с графическим интерфейсом Kibana.

Поскольку на текущем сервере Elasticsearch нет данных, мы можем выбрать «Попробовать наши образцы данных», чтобы импортировать смоделированные данные, предоставленные Kibana, чтобы испытать их. На картинке ниже показана страница канбана, импортированная в базу данных электронной коммерции, не правда ли, она очень насыщенная?

Откройте панель Dev Tools, вы увидите простую инструкцию запроса DSL (предметно-ориентированный язык, полностью основанный на JSON), а после нажатия кнопки «Выполнить» вы увидите данные в формате JSON.

04. Ключевые концепции Elasticsearch

Прежде чем перейти к следующему шагу, вам нужно понять несколько ключевых понятий Elasticsearch, например, что такое индекс, что такое тип, что такое документ и так далее. Поскольку Elasticsearch — это механизм обработки данных, некоторые концепции в нем связаны с MySQL.

После прочтения приведенной выше картинки (из Интернета, захваченной и удаленной) она становится понятной в одно мгновение. Хранение данных в Elasticsearch фактически представляет собой хранение данных типа JSON в типе под индексом в Elasticsearch.

05. Использование Elasticsearch в Java

Некоторые друзья могут спросить: «Второй брат, я программист Java, как я могу использовать Elasticsearch в Java?» Этот вопрос хорошо задан, вот он, вот он.

Поскольку Elasticsearch имеет встроенную среду выполнения Java, он, естественно, предоставляет нам ряд API-интерфейсов для работы.

Первый шаг — добавить в проект клиентскую зависимость Elasticsearch:

<dependency>
    <groupId>org.elasticsearch.client</groupId>
    <artifactId>elasticsearch-rest-high-level-client</artifactId>
    <version>7.6.2</version>
</dependency>

Второй шаг — создать новый тестовый класс ElasticsearchTest:

public class ElasticsearchTest {
    public static void main(String[] args) throws IOException {

        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("localhost", 9200, "http")));

        IndexRequest indexRequest = new IndexRequest("writer")
                .id("1")
                .source("name", "沉默王二",
                        "age", 18,
                        "memo", "一枚有趣的程序员");
        IndexResponse indexResponse = client.index(indexRequest, RequestOptions.DEFAULT);

        GetRequest getRequest = new GetRequest("writer", "1");

        GetResponse getResponse = client.get(getRequest, RequestOptions.DEFAULT);
        String sourceAsString = getResponse.getSourceAsString();

        System.out.println(sourceAsString);
        client.close();
    }
}

1) RestHighLevelClient – это REST-клиент, предоставляемый Elasticsearch, который может подключаться к серверу Elasticsearch через HTTP. Параметрами являются имя хоста и номер порта.

С клиентом RestHighLevelClient мы можем отправлять запросы на сервер Elasticsearch и получать ответы.

2) IndexRequest используется для добавления индекса на сервер Elasticsearch.Параметром является ключевое слово индекса, например, «писатель», также можно указать идентификатор. С помощью источника источники данных документа (в виде пар ключ-значение) могут быть добавлены к текущему индексу.

С помощью объекта IndexRequest вы можете вызвать клиентскийindex()метод добавления индекса на сервер Elasticsearch.

3) GetRequest используется для отправки запроса на получение на сервер Elasticsearch, параметрами являются ключевое слово index и идентификатор.

С помощью объекта GetRequest вы можете вызвать клиентскийget()метод получения индекса с сервера Elasticsearch.getSourceAsString()Используется для получения источника данных документа (в виде строки JSON) из ответа.

Что ж, давайте посмотрим на вывод программы:

{"name":"沉默王二","age":18,"memo":"一枚有趣的程序员"}

Именно то, что мы ожидали, идеально!

Индекс «писатель» также можно просмотреть с помощью панели «Инструменты разработчика» Kibana, и результат показан на изображении ниже.

06. Спасибо

Ну что же, мои дорогие друзья, на этом и закончилось содержание этой статьи. Хотите после прочтения попрактиковаться в Elasticsearch? Спешите и действуйте! Если у вас возникнут проблемы в процессе обучения, пожалуйста, не стесняйтесь общаться со мной, хотя я тоже новичок, но я полон энтузиазма.

Кроме того, если вы хотите писать статьи на уровне ворот, это лучший пример.

Я Silent King Er, интересный программист. Если вы считаете, что статья полезна для вас, пожалуйста, выполните поиск по запросу "Тихий король 2"Прочтите это в первый раз, ответьте [666] Есть также обучающие видео высокой четкости 500G (по категориям), которые я тщательно подготовил для вас.

эта статьяGitHubОн был включен, и есть полные тестовые площадки для интервью на крупных заводах Добро пожаловать в Star.

Оригинальность непроста, не просите пустой билет, пожалуйста, поставьте лайк этой статье, что будет моей сильнейшей мотивацией писать больше качественных статей.