2017-03-19 16 views
0

sql4esドライバを使用して弾性検索タイプで個数カウント関数を達成するにはどうすればよいですか?弾性検索で個数が異なります

Select distinct inv_number , count(1) from invoices; 

ただし、特定の請求書番号の合計数が返されます。

答えて

0
{ 
     "size": 0, 
     "aggs": { 
     "total_invoices": { 
      "terms": { 
      "field": "inv_number" 

     }, 
     "aggs": { 
      "unique_invoiceid": { 
      "cardinality": { 
       "field": "inv_number" 
      } 
      } 
     } 
     } 
    } 

OPがsql4esにJDBCドライバを使用している、ので、これはあなたにunique_invoiceid

2

キーとdistict値として請求書番号を与えるだろう、彼は彼のためのSQLクエリを求めていますユースケースは:

SELECT COUNT(DISTINCT inv_number) from invoices; 

それが指定された列

の異なる値の数を返します
0

ElasticSearchは確定的なDISTINCTカウント(source)をサポートしていません。それは"cardinality"のようなおおよその異なるカウンターだけをサポートします。 確定的な方法で別名を数える1つの方法は、結果からの「用語」およびカウント・バケットを使用して、それらを集約することです。