Anyone who is into Elasticsearch should spend some time reading all of the articles on Found's blog. Some really great stuff that covers ES better than most of the actual ES official docs.
Lucene-based search (i.e. Elasticsearch, CloudSearch, etc.) strikes me as overly complex from a dev's perspective. The indexing and search processes don't seem to have enough sensible defaults and that's to speak nothing of cluster configuration and management, memory issues, etc.<p>In general, there's too much of a requirement to understand Lucene's implementation details in order to use it effectively, and I'm just not sure why the process of building a search feature needs to be so difficult.
This sounds like the same principles as normal (relational) database query optimization. Filter as much as you can early to avoid unneeded calculations later.