Over time, we’ve added a lot of stuff to Sphinx, but retained most of the old code for compatibility reasons. So even in a newer 2.1 release, a bunch of things are actually pretty obsolete, and best to stay away from, but still supported and sometimes they’re even the defaults. In the 2.2 series, we’re starting a little overhaul, deprecating and removing those bits. Let’s look at the most major changes.
32-bit document IDs are now deprecated. Our binary releases are now all built with 64-bit IDs by default. Note that they can still load older indexes with 32-bit IDs, but that support will be eventually removed. In fact, that was deprecated awhile ago, but now we just want to make it clear: we don’t see any sense in trying to save your server’s RAM this way.
dict=crc is now deprecated. It has a bunch of limitations, the most important ones being keyword collisions, and no (good) wildcard matching support. You can read more about those limitations in our documentation.
charset_type=sbcs is now deprecated, we’re slowly switching to UTF-only. Even if your database is SBCS (likely for legacy reasons too, eh?), this should be absolutely trivial to workaround, just add a pre-query to fetch your data in UTF-8 and you’re all set. Also, in fact, our current UTF-8 tokenizer is even faster than the SBCS one. (And it can become even faster with your help! Check out our open projects page to see the task about writing a new UTF-8 decoder.)
As for the different access methods (SphinxQL, SphinxAPI, and SphinxSE), none of these are deprecated per se. However, at this moment our developers are spending most of their time improving SphinxQL. Some of those changes, such as new functions, expressions, etc are in fact automatically accessible via SphinxAPI just as well; but some of them might be lagging behind. Thus, SphinxQL is currently the most feature-complete path to work with. So we strongly encourage you to consider switching to SphinxQL if possible; it’s somewhat easier for us to maintain. We’re also planning to add a RESTful interface in the future.
Hopefully this post answers some of your questions. We’re looking forward to your comments and suggestions!
|« September 6, 2013. Tellows and Sphinx: Nixing Nuisance Phone Calls||September 20, 2013. Sphinx and SocialBro: Twitter Analytics »|