If it is relatively easy to do, I write a feature myself (like the similarity search).
If it is relatively easy to do, but not perfect, I write it myself too, with the option of adding an adapter to another search engine later (like geo search).
If it is hard to do (and it is too much against Picky’s structure and way of doing things), I write a Query object that uses another search engine (no example yet).
The geo search, for example, will feature a square search area, instead of a true circle, to begin with. This will cover 80% of the user’s needs. If a truly circular search is needed, or a better approximation of it, I will implement a better strategy.