簡體   English   中英

從2.x到5.x的Elasticsearch Java API問題

[英]Elasticsearch Java API from 2.x to 5.x issues

我已經更新到Elasticsearch Java庫版本5.2.0。

在2.x版本中,

  1. 我正在使用SearchRequestBuilder.addField()以便向搜索請求中添加一個字段。 盡管如此,它似乎已被替換。 我已經編寫了intellisense向我展示的可用方法。 我需要選哪個?
    • addDocValueField
    • addFieldDataField
    • addScriptField
    • addStoredField
    • storedFields
    • fields
  2. SearchRequestBuilder.setNoFields也將被刪除。 哪個可以替代?
  3. 目前,我正在使用此代碼從Java調用腳本。 在5.x Java API中,還有什么更優雅的方法可以調用它嗎?

碼:

return AggregationBuilders
    .terms(this.getName())
    .field(this.getName())
    .script(new Script(
        ScriptType.FILE,
        "painless",
        "year",
        ImmutableMap.of("field", this.getName())
    )
);

如您所見,我將field設置為腳本參數。 但是,我不太了解如何從腳本代碼中獲取它。

謝謝。

如有疑問, 請轉至來源

  1. 使用setFetchSource(String[] includes, String[] excludes)
  2. 使用setFetchSource(false)代替
  3. 如果需要為每個文檔執行此腳本,則可以使用addScriptField()

暫無
暫無

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

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