Как удалить elasticsearch windows

Обновлено: 05.07.2024

Проблема поиска WordPress

Что случилось с поиском в WordPress? Проще говоря, это наивное решение с простым запросом MySQL для поиска.

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

Мы преодолеем эти проблемы, используя поисковую систему для индексации и поиска наших данных. Мы можем думать об использовании MySQL Full Text Search или что-то подобное. Хотя это и возможно, это не может быть лучшим решением. Вы должны определить схему, вам нужно изменить базу данных WordPress по умолчанию, добавить индексы и т.д.

Если вы хотите переиндексировать большую таблицу, вы можете ввести блокировку и запретить сайту принимать новые посты. Более того, это все еще является ударом для вашей базы данных MySQL. На сайте с большими объемами трафика с большим количеством поиска он может замедлить работу базы данных. При использовании такого продукта, как ElasticSearch, вы устраняете эти проблемы. Он быстрый, эффективный, оптимизированный для поиска с большим количеством дополнительных функций, и это даже без использования схемы, вы можете легко добавлять или удалять поля.

В этом уроке мы рассмотрим следующие два шага:

  1. Настройка ElasticSearch.
  2. Настройка плагина для индексации данных в ElasticSearch и поиска.

Хорошим моментом является то, что плагин вернется к поиску по умолчанию WordPress, если сервер ElasticSearch вдруг будет недоступен.

Требования

Вы должны использовать VPS для установки на нем поисковой системы. Если вы используете обычную службу общедоступного хостинга, вы можете использовать OpenShift в качестве альтернативного сервера для установки нашей поисковой системы позже.

Красота ElasticSearch

Обратите внимание на эту страницу, если вы хотите узнать больше об этом. Их сайт широко документирован. Дополнительную информацию можно найти на странице Stack Overflow.

1. Установка ElasticSearch на вашем сервере

В зависимости от вашего дистрибутива Linux вам может потребоваться обратиться к его документации, чтобы узнать, как установить ElasticSearch. Кроме того, вы можете следовать общему учебнику ElasticSearch.

Ubuntu/Debian (или распределенные на основе APT)

Centos/RedHat (или YUM-based Distributions)

После установки поместите это в конфигурационный файл ElasticSearch:

Сохраните файл. И продолжайте установку с помощью yum . Обратите внимание, что мы должны установить Java 6 из стороннего репозитория, если ваш репозиторий CentOS не имеет Java 6.

Если у вас нет VPS и вы все еще хотите его использовать, вы можете использовать платформу OpenShift для установки ElasticSearch на нее. Если вы установили ElasticSearch на свой сервер, перейдите к следующему разделу.

2. Установка ElasticSearch на OpenShift

ElasticSearch можно легко установить, загрузив программный пакет и запустив двоичный файл. Java 6 - единственная зависимость. OpenShift дает нам вид виртуального сервера, на котором мы можем установить на нем свое собственное программное обеспечение.




На этой странице вы увидите доменное имя своего приложения. Нам понадобится это позже, чтобы настроить URL-адрес сервера ElasticSearch. В правом нижнем углу вы можете увидеть «Удаленный доступ». Благодаря этому доступу мы сможем запустить команду оболочки и установить ее точно так же, как с обычным VPS. Мы собираем информацию SSH для удаленного доступа в наше приложение и устанавливаем ElasticSearch.




Чтобы войти в систему через SSH, вы должны предоставить свой открытый ключ OpenShift. Перейдите на вкладку «Настройка» и нажмите «Добавить публичный ключ» .




Просто скопируйте и вставьте содержимое своего публичного ключа в него. Ваш публичный ключ обычно находится в папке

/.ssh/id_rsa.pub . Если вы не знакомы с публичными ключами, прочитайте эти руководства о том, как их создавать:

После того, как вы добавите свой ключ на веб-сайт OpenShift, введите эту команду, чтобы подключиться к нему. Обратите внимание, что ваш адрес будет отличаться от моего.

Мы загрузим и установим ElasticSearch вручную. Тем не менее, мы должны хранить файл загрузки в папке $OPENSHIFT_DATA_DIR из-за ее сохранения между развертыванием. Во время развертывания OpenShift удаляет почти все файлы и папки и использует сборку инструкции в приложении для создания и развертывания приложения.

Обратите внимание, что OpenShift имеет специальную папку, которая используется для хранения постоянных данных между несколькими развертываниями. $OPENSHIFT_DATA_DIR - путь хранения переменных окружения. Выполните следующую команду для загрузки, установки и запуска ElasticSearch.

3. Настройка плагина

Загрузите и установите плагин из репозитория WordPress. Извлеките его в папку wp-content/plugins и активируйте его. Или, если вы используете wp-cli , это будет просто.

Перезагрузив панель инструментов WordPress, появится новый пункт меню для ElasticSearch. Отсюда, давайте настроим его.

Большинство полей описываются четко, чтобы помочь вам настроить его. Ниже приведены некоторые итоги.

Интеграция WordPress

Эта вкладка содержит параметр, разрешающий использование ElasticSearch. Эта вкладка также позволяет нам выбирать, какие категории должны содержаться в ElasticSearch.

Настройки сервера

Настройте сервер ElasticSearch и имя индекса. Имя индекса похоже на имя базы данных в MySQL. В нем есть сервер MySQL и несколько баз данных. Вы можете использовать любое имя там, пока оно используется другой службой.




Индексирование контента

Результат

Моя оценка баллов, вы должны изменить и принять ее к своим собственным требованиям

Длина префикса

Это относится к количеству символов, которые могут быть заменены для соответствия словам. Например: если я искал Lonux , Linux по-прежнему считается совпадением: L(i)nux-> L(o)nux. Чем меньше число, тем лучше производительность. Не устанавливайте слишком высокое значение. Я думаю, что 0-2 являются самыми разумными.

Управление индексом

Когда все настроено или изменено, пришло время применить это изменение. Когда вы нажимаете повторно индексировать, он должен показывать что-то, как показано ниже:




После завершения индексации. Попробуйте найти что-то на своем сайте, найти фразу, переключить поиск в состояние вкл/выкл по умолчанию и ElasticSearch, чтобы увидеть разницу. Вот мой результат поиска с поиском по умолчанию WordPress:

Нет результата при поиске zsh arch linux со стандартным поиском

Вот результат поиска с помощью ElasticSearch.

Вывод

Всего лишь несколькими простыми шагами мы создали мощную поисковую систему на нашем сайте. Чем точнее результат поиска, тем лучше для наших посетителей. Если ваш сайт имеет интенсивный трафик, а одна установка ElasticSearch не может обрабатывать поиск, вы можете добавить в ElasticSearch дополнительные узлы для выполнения распределенного поиска.

Обратите внимание, что по умолчанию ElasticSearch не имеет аутентификации, но вы, вероятно, должны использовать брандмауэр, чтобы ограничить доступ к ElasticSearch с общедоступных IP-адресов. Или, возможно, лучший способ - связать ElasticSearch с внутренним IP-адресом и сделать его доступным только через локальную сеть.

Пожалуйста, оставьте комментарий и сообщите нам, как работает ваш сайт после установки этого плагина.

Elasticsearch – это мощный поисковый движок, написанный на JAVA и позволяющий организовать эффективный поиск в базе данных. Для управления и работы с данными в системе используется REST API. Из коробки Elasticsearch предоставляет богатый функционал для загрузки данных из разных источников, обработки, анализа, репликации и масштабируемости системы.

Совместно с Elasticsearch поставляется система визуализации данных Kibana с веб интерфейсом.


Подробно на процессе установки останавливаться не будем. Перейдем сразу к интеграции с 1С.

Подсистема "Логирование"

Подсистема предоставляет программный интерфейс для записи произошедших событий, выгрузки событий, создания индексов, создания политик жизненного цикла и поиска по выгруженным данным. Для просмотра логов в пользовательском режиме 1С используется обработка "Просмотр логов".

Ниже описаны объекты подсистемы.

Справочники

  • “Серверы логирования” - определяет инстанс ElasticSearch
  • “Ноды эластик” - определяет настройки подключения к серверам, подчинён справочнику “Серверы логирования”
  • “Индексы логов” - определяет настройки и структуру хранения данных, подчинён справочнику “Серверы логирования”
  • “Политики жизненного цикла” - определяет настройки управления размещением и временем жизни данных, подчинён справочнику “Серверы логирования”

Константы

  • "Индекс журнала регистрации" - определяет индекс, используемый для выгрузки журнала регистрации

Регистры сведений

  • "Данные логов" - хранит записи событий в формате JSON, подготовленные для выгрузки
  • "Состояния индексов" - хранит данные о синхронизации с ElasticSearch
  • "Состояния нод" - хранит данные о состоянии нод

Регламентные задания

  • "Выгрузить лог в эластик" - выгружает и очищает записи регистра "Данные логов" за прошлые часы
  • "Выгрузить журнал регистрации в эластик" - выгружает данные журнала регистрации в индекс, заданный в константе "Индекс журнала регистрации"
  • "Обновить состояние нод" - определяет работоспособность нод

Обработки

  • "Просмотр логов" - предоставляет возможность просматривать выгруженные логи

Связь сущностей 1С и ElasticSearh


Инстанс ElasticSearch представляет из себя кластер рабочих серверов - нод. В простом случае в кластере может быть одна нода, но для работы встроенного механизма репликации и отработки отказа их должно быть минимум две. В сложных случаях ноды также делятся по ролям (Master, Data, Coordinator и т.д.).

Данные в ElasticSearh хранятся в индексах. Для удобства обслуживания индексы разбиваются на части:

  • по датам (дням, месяцам) при использовании ручного управления
  • по номерам в автоматическом режиме при использовании политик жизненного цикла (Index Lifecycle Policies)

Для запроса сразу по нескольким индексам Elasticsearch предоставляет псевдонимы индексов (Aliases). А для автоматического создания и настройки индекса поддерживает шаблоны индексов.

Для автоматического управления расположением индексов на дисках и сроком жизни в Elasticsearch используются политики жизненного цикла (Index Lifecycle Policies). В политике могут быть заданы ограничения по размеру индекса или по времени. После наступления ограничения индекс перемещается на следующую стадию. Всего определены четыре стадии:

  • hot - новые данные, активная запись, активное чтение
  • warm - данные в режиме read-only, активное чтение
  • cold - редкое чтение
  • delete - данные больше не нужны, удаление

Структура индексов ElasticSearch

Индексы в ElasticSearch состоят из осколков (Shards) и реплик (Replicas). Осколки представляют из себя основную структуру хранения данных и могут быть распределены по разным нодам. От количества осколков зависит скорость чтения и записи данных, а также занимаемое место на дисках. Реплики это копии осколков доступные только для чтения. Количество осколков и реплик задаётся при создании индекса или берётся из шаблона индекса.

Для примера возьмём две ноды, индекс с пятью осколками и одной репликой.

Первая нода будет содержать три первичных осколка (1,2,3) и две реплики (4,5)

Вторая нода будет содержать два первичных осколка (4,5) и три реплики (1,2,3)

В таком случае при отказе одной из нод данные останутся доступными.

Создание индексов в 1С

Для определения нового типа логов в 1С нужно создать элемент справочника "Индексы логов", заполнить наименование, сервер ElasticSearch, количество осколков, количество реплик и политику жизненного цикла.


При записи нового справочника в ElasticSearch создаётся шаблон с настройками и алиас для доступа к данным.

После этого индекс должен быть инициализирован с помощью выгрузки логов из 1С. При этом ElasticSearch сам подбирает необходимые типы свойств в зависимости от выгружаемых данных.

После инициализации есть возможность загрузить структуру индекса и определить способ отображения данных на стороне 1С.


Запись логов в 1С

Для временного хранения произошедших событий в 1C используется регистр сведений "Данные логов". Запись в регистр выполняется процедурой ЗаписатьЛог общего модуля ЛогированиеНаСервере.

Переданная коллекция логов сериализуется средствами платформы в JSON. При этом типы данных, не поддерживающие автоматическую сериализацию приводятся к типу "Строка". Для ссылочных типов выгружается уникальный идентификатор.

Подготовленные к обмену данные записываются с разделением по началу часа времени записи.

Выгрузка логов из 1С в ElasticSearch

Выгрузка логов выполняется регламентными заданиями:

  • "Выгрузить лог в эластик"
  • "Выгрузить журнал регистрации в эластик"

Для выгрузки данных в ElasticSearch используется API массовых операций.

В случае успеха обновляется дата выгрузки в регистре сведений "Состояния индексов".

Просмотр логов в 1С

Для просмотра в 1С выгруженных данных используется обработка "Просмотр логов". На форме указывается индекс, количество запрашиваемых записей, отборы по полям и сортировка.


Для получения данных в ElasticSearch используется операторы Search API:

  • match_phrase - для полнотекстового поиска
  • range - для определения диапазона дат

Заключение

Стек ELK представляет из себя мощный набор инструментов для эффективного решения широкого спектра задач сбора, хранения и анализа данных.

В статье дано поверхностное описание ElasticSearch и предоставлен вариант интеграции с 1С.

Во вложении доступна конфигурация с подсистемой "Логирование". Тестировалась на платформе 8.3.13.1690.

---- Объяснение из Википедии

Я лично понимаю, что Elasticsearch (далее ES) - это распределенная система полнотекстового поиска, потому что при поиске больших объемов данных обычные реляционные и нереляционные базы данных вызывают запросы из-за ограничений на чтение ввода-вывода и вычислительную мощность процессора Эффективность трудно повысить, но ES распределен (который может распределять нагрузку обработки на каждый узел) и создает индекс для каждого слова, поэтому эффективность запроса чрезвычайно высока, что можно назвать мгновенным поиском.

ES можно использовать с Kibana для реализации управления визуализацией данных и анализа данных.

QQ 20180906215325

Панель управления Kibana

2.1 Узел и кластер

Упомянутая выше ES - это распределенная поисковая машина, суть которой - распределенная база данных, которая может работать вместе с экземплярами ES на нескольких компьютерах. Экземпляр ES на определенном компьютере можно назвать узлом. (Узлы), все эти примеры совместной работы, можно назвать кластером.

2.2 Index

Elastic проиндексирует все поля и запишет инвертированный индекс (Inverted Index) после обработки. При поиске данных ищите напрямую в индексе.

Поэтому единица верхнего уровня управления эластичными данными называется индексом. Это синоним единой базы данных. Имя каждого индекса (т.е. базы данных) должно быть в нижнем регистре.

2.3 Document

Единственная запись в указателе называется документом. Многие документы составляют указатель.

Документ представлен в формате JSON. Ниже приведен пример.

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

2.4 Type

Документы можно сгруппировать, например weather В этом индексе вы можете сгруппировать по городу (Пекин и Шанхай) или климату (солнечный и дождливый). Эта группировка называется Тип, которая представляет собой виртуальную логическую группу, используемую для фильтрации документа.

Различные типы должны иметь похожие структуры (схемы), например, id Поле не может быть строкой в ​​этой группе и числовым значением в другой группе. Это связано с таблицей реляционной базы данныхРазница. Данные совершенно разного характера (например, products с участием logs ) Следует хранить как два индекса вместо двух типов в одном индексе (хотя это можно сделать).

в соответствии спланирование, Версия Elastic 6.x позволяет каждому индексу содержать только один тип, а версия 7.x полностью удаляет тип.

Elasticsearch используется для создания высокодоступной и масштабируемой системы. Способом расширения может быть покупка более качественных серверов (вертикальное расширение) или покупка большего количества серверов (горизонтальное расширение).

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


Узел в кластере будет выбран в качестве главного узла, который будет временно управлять некоторыми изменениями на уровне кластера, такими как создание или удаление индексов, добавление или удаление узлов и т. Д.

Главный узел не участвует в изменениях или поисках на уровне документов, а это означает, что главный узел не станет узким местом кластера при увеличении трафика. Любой узел может стать главным. Кластер в нашем примере имеет только один узел, поэтому он будет действовать как главный узел.

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

Давайте создадим индекс под названием blogs на единственном пустом узле в кластере. По умолчанию индексу выделяется 5 первичных шардов, но в демонстрационных целях мы выделяем только 3 первичных шарда и один шард репликации (каждый первичный шард имеет один шард репликации):


Теперь наш кластер выглядит, как на картинке выше, со всеми тремя первичными осколками, назначенными узлу 1.

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

Если запустить второй узел, кластер будет выглядеть как на следующем рисунке


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

Индекс документа сначала будет храниться в главном сегменте, а затем одновременно реплицироваться на соответствующий узел репликации. Это гарантирует, что наши данные могут быть получены как на первичном, так и на реплицирующем узлах.

Как мы можем расширяться по мере роста требований к приложениям? Если мы запустим третий узел, наш кластер будет воспринимать себя и в это время станет кластером из трех узлов.

Для балансировки нагрузки были перераспределены шарды:


Фрагменты из Узла 1 и Узла 2 были перемещены в новый Узел 3, так что каждый узел имеет два фрагмента вместо трех предыдущих. Это означает, что аппаратные ресурсы (ЦП, ОЗУ, ввод-вывод) каждого узла используются меньшим количеством шардов, так что каждый шард будет иметь лучшую производительность.

Сам по себе Sharding - это полноценная и зрелая поисковая система, которая может использовать все ресурсы одного узла. Используя эти 6 шардов (3 первичных шарда и три шарда репликации), мы можем масштабировать до 6 узлов, с одним шардом на каждом узле, чтобы можно было использовать 100% ресурсов этого узла.

4.1 Установка

Поскольку методы установки ES различны для каждой платформы, и в Интернете есть более подробные руководства по установке, в этой статье они не будут повторяться здесь. Изначально я хотел построить кластер ES на двух своих серверах Tencent Cloud Centos, но поскольку облачный сервер имеет 1 ГБ памяти, я всегда сообщаю об ошибке при запуске ES, что в основном означает, что памяти недостаточно, поэтому я использую свой компьютер. Создается только один узел ES, а не кластер ES, но это не влияет на функциональный тест.

"You Know, for Search"

ES имеет систему API в стиле Restful, через которую мы взаимодействуем с ES.

4.2 Подача данных

Используйте PostMan для отправки фрагмента данных в ES следующим образом.

image

4.3 Данные получены по ID

image

4.4 Запрос данных

Относится к запросу данных, содержащихся в слогане,

image

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

Это не невозможно, но Elastic создал «Клиентов» для большинства языков. Фактически, он инкапсулирует упомянутые выше методы. Мы можем легко вызвать ES в коде.

5.1 SDK (клиенты, клиенты)

5.2 Создание демонстрации

Затем я создаю EsClientProvider, код такой:

Код IEsClientProvider выглядит следующим образом:

Затем запустите ConfigureServices of Startup, чтобы зарегистрировать службу.

Наконец, измените ValueContoller, код будет следующим:

Метод Index может использоваться для отправки данных, а Search - для запроса данных по типу объекта Post.

Код несложный, поэтому подробно рассказывать не буду. Метод поиска протестирован в PostMan. Эффект выглядит следующим образом:

image

Требование запроса заключается в том, что тип - 567, а тип респондента - действительно 567, Успех!

Ввиду того, что в будущем я планирую выпустить несколько статьей, основанных на работе с ElasticSearch, в этой статье я решил показать самые распространённые варианты его установки. В этой статье собраны все варианты установки Elasticsearch 7: на Ubuntu 18.10, Windows 10, Docker, Vagrant Homestead. Многие ищут статьи на тему быстрого старта по работе с ES, однако, любой старт начинается именно с установки^^.

Установка Elasticsearch на Linux/Ubuntu

Для того, чтобы установить Elasticsearch на Ubuntu, нужно открыть страницу их офф.документации.

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

Для работы Elasticsearch на Linux, нужно сначала установить Java 8 версии, или более новую. Для этого, выполните код:

java_result

И получите окно вывод примерно с таким содержимым:

После чего, приступим к установке самого Elasticsearch.
Сначала нужно выполнить:

В результате чего, эта команда должна вернуть ответ: OK .

Этой командой мы установим ElasticSearch 7 версии. Если вам нужна какая-то конкретная версия, или более старая версия, то измените версию на нужную, вместо 7.x

После чего, выполним следующие команды:

После выполнения этих команд, Elasticsearch будет установлен. Однако, он не запустится сразу после установки, запустить его придётся вручную, выполнив:

curl_result

И вы должны увидеть что-то вроде этого:

Если эта ошибка не пропадает, то это означает, что сервис не удаётся запустить. Вероятно, это из-за недостатка оперативной памяти. Для того, чтобы посмотреть подробный лог Elasticsearch, можете выполнить команду: sudo journalctl -u elasticsearch

Но, уверен, что у вас всё запустилось, мои поздравления!

Настройка Elasticsearch

Если вам интересно, в какой директории Elasticsearch хранит данные, то они находятся в директории /var/lib/elasticsearch , конфигурационные данные в /etc/elasticsearch , а настройки Java для Elasticsearch расположены в файле /etc/default/elasticsearch .

По умолчанию Elasticsearch настроен только для локального доступа, для доступа только изнутри текущей системы, в которую он установлен. Вы не можете достучаться к нему удалённо. И, если клиент подключаемый к Elasticsearch запущен на том же сервере, что и сам Elasticsearch, вам не нужно менять конфигурационные файлы. Если это не так, то есть опция настройки удалённого доступа к Elasticsearch.

Удалённый доступ

В Ubuntu стандартно установлено ПО по настройке файрвол UFW. По умолчанию, UFW установлен в систему, но не включён. Но, перед его включением, добавим одно правило для разрешения входящего трафика по SSH:

Теперь, разрешим удалённый доступ для доверенного IP адреса:

Вместо x.x.x.x напишите ваш реальный IP адрес. В моём случае, команда будет иметь вид sudo ufw allow from 134.249.138.171 to any port 9200

Если вы занимаетесь локальной разработкой, то можете не ограничивать доступ по конкретному IP, для этого, вместо предыдущей команды нужно выполнить: sudo ufw allow to any port 9200

Теперь можно включать UFW:

И последнее, проверим статус файрвола:

firewall

Где мы должны увидеть добавленное правило:

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

Для этого, откроем конфигурационный файл elasticsearch.yml :

Для того, чтобы выйти из редактирования файла в редакторе nano , нужно нажать CTRL+C , напечатав символ согласия y .

Теперь, перезагрузим Elastisearch, чтобы изменения вступили в силу:

И это всё. Теперь у вас есть возможность подключения к Elastisearch удалённо.

В этом пункте было показано, как установить Elasticsearch в Ubuntu 18.10. Теперь вы можете посетить офф.документацию для начала работы и более детального изучения основ работы с Elasticsearch.

Установка ElasticSearch в Docker

Если вы ещё не знакомы к Докером, то на сайте есть отличная статья по работе с ним.
Для начала, нужно скачать образ с предустановленным Elasticsearch:

Теперь, когда скачивание дойдёт до конца, его можно запустить командой:

docker-postman-result

В результате чего, Elasticsearch станет доступен по адресу localhost:9200.

Установка Elasticsearch в Vagrant

Для того, чтобы установить Elasticsearch в Vagrant (Homestead) нужно добавить опцию elasticsearch в файле Homestead.yaml , указав нужную поддерживаемую версию. При создании виртуальной машины, по умолчанию, будет создан кластер под названием homestead .

Вы не должны предоставлять Elasticsearch больше, чем половина вашей доступной оперативной памяти, потому, убедитесь, что ваш Homestead настроен в соответствии этому замечанию.

vagrant_curl_result

Для того, чтобы прокинуть порты для удалённого доступа, нужно дополнить Homestead.yaml:

И, аналогично, как описывалось в секции настройки удалённого доступа, нужно прописать в файл /etc/elasticsearch/elasticsearch.yml новые параметры, разрешив удалённый доступ.

После чего, удалённый доступ заработает. Учтите, что в этом случае, доступ к Elasticsearch будет осуществляться не по адресу localhost:9200, а по параметру IP, указанному в Homestead.yml. В моём случае, это 192.168.10.10:9200.

Установка Elasticsearch на Windows 10

windows_loader_msi

Для установки Elasticsearch на Windows, перейдите на страницу и выберите нужную версия для скачивания (я предпочитаю *.msi версию).

dinwos_dirs

Используя графический интерфейс, установите настройки: директории для хранения данных, логов, и конфигов, или же, используйте настройки по-умолчанию.

windows_as_service

Потом, выберите, установка "as a service" или установка с ручной настройкой, если нужно. Когда установлено "as a service", вы можете так же настроить Windows аккаунт для запуска службы, а так же настроить поведение при старте вашей ОС (запускать ли автоматически и т.д.).

windows_common

Основные системные настройки производятся на последней странице: указывается имя кластера, имя, размер ОЗУ и настройки сети.

На следующей странице выбора плагинов можно ничего не выбирать, осталось подтвердить начало установки, нажав на кнопку Install .

windows_result

В конце установки, на вашем компьютере запустится служба Elasticsearch, и убедиться в этом можно, перейдя по адресу localhost:9200.

В этой статье я показал, как устанавливать Elasticsearch 7 под разные операционные системы: Ubuntu и Windows. Так же, была рассмотрена установка, запуск и настройка Elasticsearch на Docker и Homestead Vagrant. Это была первая статья по работе с Elasticsearch, для того, чтобы в будущем показать подробные примеры по работе с ним.

Читайте также: