2015-03-23 3 views

ответ

1

Чтобы вычислить произведение значений, вам нужно использовать скрипты. Для более новых версий Elasticsearch включите динамический скриптинг, добавив строку script.disable_dynamic: false в файл elasticsearch.yml. Обратите внимание, что это может оставить защитное отверстие в вашем кластере Elasticsearch. Поэтому включите скрипты разумно. Попробуйте ниже запрос:

POST <indexname>/<typename>/_search?search_type=count 
{ 
    "query": { 
     "filtered": { 
     "filter": { 
      "term": { 
       "order_date": "2014-04-15" 
      } 
     } 
     } 
    }, 
    "aggs": { 
     "orders": { 
     "sum": { 
      "script": "doc['price_per_unit'].value * doc['quantity'].value" 
     } 
     } 
    } 
} 
+0

Я не в состоянии получить доступ ** сценарий ** т.е. DOC [ «price_per_unit»] значение.. – deepak

+0

Есть ли другой способ сделать это? – deepak

+0

Какую версию Elasticsearch вы используете? – bittusarkar