簡體   English   中英

在Ruby中使用彈性搜索gem時在哪里指定集群詳細信息

[英]where to specify cluster details when using elastic search gem in Ruby

我想從我的rails應用程序訪問Elastic Search Cluster的數據。 可以說服務器在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/

作為文檔的具體說明,elasticsearch gem包裝了用於連接到集群的elasticsearch-transport和用於訪問elasticsearch API的elasticsearch-api 從elasticsearch-transport的文檔中,

以最簡單的形式,無需任何配置即可連接到運行在http:// localhost:9200上的Elasticsearch:

因此,基本上, client = Elasticsearch::Client.new log: true將默認連接到在localhost:9200(與Rails應用程序位於同一台機器)上運行的集群。

建立連接后,繼續嘗試執行client.cluster.health ,您將了解連接是否成功。

此外,如果您的群集在其他服務器上運行,則可以使用以下命令連接到該服務器:

es = Elasticsearch::Client.new host: http(s)://<path-to-cluster-server>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM