[英]How to do i write mysql distinct query to Elasticesearch
我正在將我的PHP MySQL應用程序轉換為Elasticsearch,這是我的PHP MySQL查詢以及如何將此查詢寫入Elasticseach(版本5.5)
我嘗試編寫聚合,但結果計數與舊的MySQL結果計數不匹配。
SELECT COUNT(DISTINCT offerName, `OfferID`, `duration`, `price`, `numChannels`, providerName) AS "totalRecords" FROM `video` WHERE `active` = 'Y'
這是我的Elasticsearch查詢:
{
"size": 0,
"query":
{ "bool": {
"should": [
{ "match": { "active": "Y" }}
]
}
},
"aggs": {
"count_by_OfferID": {
"terms": {
"field": "offerID"
}
},
"count_by_offerName":{
"terms": {
"field": "offerName"
}
},
"count_by_duration":{
"terms": {
"field": "duration"
}
},
"count_by_price":{
"terms": {
"field": "price"
}
},
"count_by_downloadSpeed":{
"terms": {
"field": "downloadSpeed"
}
},
"count_by_numChannels":{
"terms": {
"field": "numChannels"
}
},
"count_by_providerName":{
"terms": {
"field": "providerName"
}
}
}
}
也許您應該修改映射,以便更有效地獲得答案,但是Elasticsearch的DISTINCT COUNT
稱為cardinality
聚合,它支持即席腳本編制 。 希望我能正確理解您的問題。
基數指標支持腳本編寫,但是由於哈希值需要實時計算,因此性能會受到明顯影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.