O que é a pilha de tecnologia por trás do Mixpanel?
Elasticsearch pode implementar a maioria das funções do Mixpanel's, mas ainda há algumas limitações que não podemos superar, por exemplo, quando dados numéricos armazenados como tipo string, não podemos executar SUM,AVG,MIN,MAX... nos dados
E não há maquinismo de conversão de tipo, então não podemos lançar STRING para NUMERO.
>br>É um grande problema para nós agora, se você tiver algumas soluções, você pode compartilhá-las conosco ?
>p>Update: podemos lançar o tipo de dados usando o mecanismo de script, como este:curl -XPOST 'youreshost:9200' -d '
{
"aggs": {
"max_page": {
"min": {
"script": "Integer.parseInt(_source.page)"
}
}
}
'
mas agora o desempenho é um problema agora, e este machinismo não tem como pegar exceções se houver exceções quando os dados não estão no formato numérico válido.
UPDATE:
superamos isso usando alguma redundância do tipo de dados:
Original Data:{'serverid':100}, {'serverid':'s156'}...
Dados com tipo redundancy:{'serverid': {'l': 100}}, {'serverid': {'s': 's156'}}}
que :l representa long,s representa string。d é a abreviatura de date, e b será usado para representar bool