Added search filter functions.

Added support in the elasticsearch DSL for the
filter functions defined in http://tinyurl.com/qzobc69
I'd suggest adding a function that in the first step returns a map[string]integer that is specific for some case and in second step returns []string from whatever map[string]integer it gets from the first step. Instead of being hardcoded somewhere inside createDSL function ... it will also make createSearchDSL shorter and more clear. 
This way we can have different boosting mappings and just switch between them when experimenting, not touching/loosing previous values.