MongoDB 2.4 can now search text
The latest release of MongoDB 2.4 expands the NoSQL database's capabilities with the addition of text search. Described as "one of the all time most requested features in MongoDB", text search has been added as a beta feature to MongoDB 2.4. It is built around text
indexes, case-insensitive indexes which omit the language-specific stop words and use language-specific stemming for words.
The indexing supports Danish, Dutch, English, Finnish, French, German, Hungarian, Italian, Norwegian, Portuguese, Romanian, Russian, Spanish, Swedish and Turkish. It is also possible to specify none as a language, in which case the stop words will not be dropped and no stemming or tokenising will occur. Users can create new text
indexes and then use the text
command to search the indexes for a word or phrase using a number of techniques.
Another feature in 2.4 is the hashed index and sharding. Hash-based sharding allows data and CPU load to be spread well between distributed database nodes in a simple to implement way. The developers recommend it for cases of randomly accessed documents or unpredictable access patterns. New Geospatial indexes with support for GeoJSON and spherical geometry allow for 2dsphere indexing; this, in turn, offers better spherical queries and can store points, lines and polygons.
A new modular authentication system has been implemented, though the first new module to use it is a Kerberos module which is only available with MongoDB Subscriber Edition. There's also a role-based access control system and the ability to have documents that are "user privileged". The developers have also boosted MongoDB's JavaScript processing for mapReduce by switching to the V8 JavaScript engine, from SpiderMonkey, to get better performance. JavaScript language functionality has also changed with the update.
Other changes include support for fixed sized arrays in documents, counting performance has been optimised in the execution engine and a working set size analyser has been added to make it easier to measure used resources. For details of these and the other changes in MongoDB 2.4, consult the release notes which also include details on how to upgrade to 2.4 from previous versions. Mac OS X users should note that only 10.6 (Snow Leopard) and later are now supported. A detailed change log can also be viewed.
The new version is available to download as source and as binaries for Mac OS X, 32- and 64-bit Linux and Windows, and 64-bit Solaris. MongoDB is licensed under the AGPL 3.0 with commercial licences and subscriber editions available from 10gen.
(djwm)