Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.
Two key innovations here are using Sphinx to prebuild JOIN results and using its dis- tributed capabilities to merge data scattered over many shards. This would be next to impossible with MySQL alone. Efficient merging would require partitioning the data over as few physical servers and tables as possible, but that would hurt both scalabil- ity and extensibility. Lessons learned from this example are: · Sphinx can be used to aggregate highly partitioned data efficiently. · MVAs can be used to store and optimize prebuilt JOIN results. Conclusion We've discussed the Sphinx full-text search system only briefly in this appendix. To keep it short, we intentionally omitted discussions of many other Sphinx features, such as HTML indexing support, ranged queries for better MyISAM support, mor- phology and synonym support, prefix and infix indexing, and CJK indexing. Never- theless, this appendix should give you some idea of how Sphinx can solve many different real-world problems efficiently. It is not limited to full-text searching; it can solve a number of difficult problems that would traditionally be done in SQL. Sphinx is neither a silver bullet nor a replacement for MySQL. However, in many cases (which are becoming common in modern web applications), it can be used as a very useful complement to MySQL. You can use it to simply offload some work, or