簡體   English   中英

ElasticSearch如何獲取其中包含10個或更多字段的文檔?

[英]ElasticSearch how to get docs with 10 or more fields in them?

我想獲取所有包含10個或更多字段的文檔。 我猜是這樣的:

{
  "query": {
    "range": {
      "fields": {
        "gt": 1000
      }
    }
  }
}

您可以做的是像這樣運行腳本查詢

{
  "query": {
    "script": {
      "script": {
        "source": "params._source.size() >= 10"
      }
    }
  }
}

但是,請注意,這取決於您擁有的文檔數量和支持群集的硬件,這可能會對群集的性能產生負面影響。

更好的主意是添加另一個整數字段,該整數字段包含文檔包含的字段數,因此您可以像在問題中一樣簡單地對其進行range查詢。

作為_source字段的每個文檔,您可以那樣做,或者無法基於字段數獲得結果。

https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-source-field.html

暫無
暫無

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

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