elasticsearch腳本的用法

1.腳本的語法格式

"script": {
    "lang":   "...",  
    "source" | "id": "...", 
    "params": { ... } 
  }
lang:表示使用的語言
source:表示內聯腳本
id:表示引用存儲腳本
params:自定義腳本參數

2.存儲腳本

首先使用/_scripts/{id}創建存儲腳本
POST _scripts/myscriptid
{
  "script": {
    "lang": "painless",
    "source": "Math.log(_score * 2) + params.my_modifier"
  }
}

可以使用GET _scripts/myscriptid 查看
具體使用的方式
GET _search
{
  "query": {
    "script": {
      "script": {
        "id": "myscriptid",
        "params": {
          "my_modifier": 2
        }
      }
    }
  }
}

刪除腳本
DELETE _scripts/myscriptid

3.腳本緩存

默認情況下,所有腳本都被緩存,因此只有在更新發生時才需要重新編譯它們,默認情況下,腳本沒有基於時間的過期,但你可以使用script.cache.expire設置更改此行爲,你可以使用script.cache.max_size設置配置此緩存的大小,默認情況下,緩存大小爲100

存儲腳本的大小限制爲65,535字節,這可以通過設置script.max_size_in_bytes設置來增加軟限制來更改,但如果腳本非常大,則應考慮原生腳本引擎。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章