2017-10-19 38 views
1

我在Elasticsearch以下查詢:如何在Elasticsearch的多個字段上創建一個bool過濾器?

{ 
    "script_fields": { 
    "travel_time": { 
     "script": { 
     "inline": "doc['DateTo'].value - doc['DateFrom'].value" 
     } 
    } 
    }, 
    "stored_fields": [ 
    "_source" 
    ], 
    "query": { 
    "bool": { 
     "filter": { 
     "exists": { 
      "field": "DateTo" 
     } 
     } 
    } 
    } 
} 

如何添加DateFromexists過濾器?

+0

你使用的elasticsearch的版本? –

+0

@TobiasGassmann:5.5 – Dinosaurius

回答

1

您可以添加多個exists標準:

"query": { 
    "bool": { 
     "filter": [ 
     { 
     "exists": { 
      "field": "DateFrom" 
     } 
     }, 
     { 
     "exists": { 
      "field": "DateTo" 
     } 
     }, 
     { 
     "script": { 
      "script": { 
      "inline": "doc['DateTo'].value - doc['DateFrom'].value > 0" 
      } 
     } 
     } 
     ] 
    } 
    } 
+0

啊,好的。我是否也可以添加''doc ['DateTo']。value - doc ['DateFrom']。「value」的過濾器應該是一個正數值? – Dinosaurius

+0

查看我的更新回答 – Val

相關問題