Is there a reason for returning the key instead of the item in search results?
In most use cases that I can think of the consumer has to re-map the id's back to the objects anyway, which is needlessly complex and not good for performance.
Since objects are passed by reference this should not really affect performance inside the library but will simplify stuff and improve performance in consuming code.
Thoughts?
I'd be happy to create a PR.