簡體   English   中英

保持 Elasticsearch 連接活躍

[英]Keep Elasticsearch connection alive

我希望保持我的 Elasticsearch 的客戶端連接處於活動狀態。 我一直在使用彈性客戶端並在索引和搜索其數據存儲時取得了一些巨大的成功,但我希望能夠創建到我的彈性搜索節點的連接並保留連接,這樣我就不需要不斷創建每次我 POST 到它時都會有一個新的連接。

查看文檔后,我發現 swagger 文檔有一個保持活動的功能,但我已經使用 nodejs 創建了我的客戶端,並且沒有找到任何功能來這樣做。

我的客戶看起來像這樣:

const client = new Client({
  auth: {
    username: 'aSecret',
    password: 'alsoASecret',
  },
  node: 'localhost:9000',
  maxRetries: 3,
  requestTimeout: 15000,
});

我的索引現在非常簡單:

await client.index({
  index: 'my-datastore'
  refresh: true,
  body: eventData,
});

如何讓我的索引連接保持活動狀態,以便我可以將多個事件發送到我的數據存儲而無需連接和重新連接?

Client的構造函數中有一個keepAlive配置選項。 它是一個布爾值。 參考

keepAlive :與節點的連接是否應該永遠保持打開狀態? 當您直接連接到 Elasticsearch 時,建議使用此行為。

var elasticsearch = require('elasticsearch');
var client = new elasticsearch.Client({
  auth: {
    username: 'aSecret',
    password: 'alsoASecret',
  },
  node: 'localhost:9000',
  maxRetries: 3,
  requestTimeout: 15000,
  keepAlive: true
}); 

暫無
暫無

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

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