Up until this point all of our code has been hitting the Sitecore database directly whenever we've needed Sitecore data. This, however, isn’t always the best practice. For one it can put a lot of CPU pressure on your SQL server. For another, it doesn’t perform well. Full-text search is a great example of where, if it were a SQL query, you would need to inspect every single row.
A better way is to index your data in such a way to enable it to be searched, accessed quickly and at scale. Fortunately, ...