2016-08-16 9 views
0

2つのドキュメントプロパティに基づいてルールを持つドキュメントを見つけるためにelasticsearchを使用しようとしています。2つの値に基づく弾性検索クエリ

文書は次のような構造であるとしましょう:

{ 
    "customer_payment_timestamp" : 14387930787, 
    "customer_delivery_timestamp" : 14387230787, 
} 

と私は、文書のこれらの種類を照会し、customer_payment_timestampcustomer_delivery_timestampよりも大きいすべてのドキュメントを検索したいと思います。

公式のドキュメントを試しましたが、クエリ自体または事前マップされたフィールドに関する関連する例は見つかりませんでした...それは可能ですか?

答えて

1

あなたはこのようscript filterでこれを達成することができます

POST index/_search 
{ 
    "query": { 
    "bool": { 
     "filter": { 
     "script": { 
      "script": "doc.customer_payment_timestamp.value > doc. customer_delivery_timestamp.value" 
     } 
     } 
    } 
    } 
} 

注:あなたは確かdynamic scripting is enabled

+0

感謝することを確認する必要があります。 "reason":{ "type": "script_exception"、 "reason": "[inline]タイプのスクリプト、[search]およびlang [groovy]のスクリプトが無効です" } – Eyal

+0

ニース、それはうまくいってうれしい! – Val

+0

それは...ありがとう!動的スクリプトがパフォーマンスに当てはまると思いますよね? – Eyal

関連する問題