ruflin / Elastica

Elastica is a PHP client for elasticsearch
http://elastica.io/
MIT License
2.26k stars 736 forks source link

Add support for custom range key and refactor addRange in a trait #2227

Closed SosthenG closed 1 month ago

SosthenG commented 1 month ago

IpRange and GeoDistance aggregations were missing the ability to specify a custom key for a range. As it was already done for the Range aggregation, I moved that to a trait that is now used everywhere we need addRange. For the IpRange aggregation, I also added the key option to the addMaskRange method.

The only drawback with this refactoring is that the arguments of the trait have to allow string|int|float|null to be usable everywhere and we loose some phpdoc details on the arguments. In my opinion, people using this should already know what format is expected and can always check the doc so I personally prefer to have the code deduplicated, but if you disagree I can change it back to add the key everywhere without using a common trait.

ruflin commented 1 month ago

Hi @SosthenG Sorry for the late reply. I'm currently on holidays but try to take a look at this rather soonish.

ruflin commented 1 month ago

Thanks for the contribution!