Где указать детали кластера при использовании эластичного поискового гема в Ruby
Я хочу получить доступ к данным в Elastic Search Cluster
от моего rails
приложение. Допустим, сервер работает на http://localhost:9200
и я хочу получить доступ к конечной точке http://localhost:9200/location/type
,
Следующая документация и наткнулся на этот пример:
require 'elasticsearch'
client = Elasticsearch::Client.new log: true
client.cluster.health
client.index index: 'my-index', type: 'my-document', id: 1, body: { title: 'Test' }
client.indices.refresh index: 'my-index'
client.search index: 'my-index', body: { query: { match: { title: 'test' } } }
Вопросы:
- где я определю детали моего
elasticsearch cluster
в коде? кластер работает наhttp://localhost:9200/
1 ответ
Как указано в документации, самоэластичный драгоценный камень включает в себя эластичный поиск-транспорт для соединения с кластером и эластичный поиск-API для доступа к API эластичного поиска. Из документации эластичного поиска-транспорта,
В простейшей форме подключитесь к Elasticsearch, работающему по http://localhost:9200/ без какой-либо конфигурации:
В общем, client = Elasticsearch::Client.new log: true
по умолчанию подключится к кластеру, работающему на локальном хосте:9200 (на той же машине, что и ваше приложение Rails).
Идите и попробуйте выполнить client.cluster.health
после установления соединения, и вы узнаете, если это удалось или нет.
Более того, если ваш кластер работает на другом сервере, вы можете использовать следующее для подключения к нему:
es = Elasticsearch::Client.new host: http(s)://<path-to-cluster-server>