Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Mongoid_fulltext: full-text n-gram search for your MongoDB models

DZone's Guide to

Mongoid_fulltext: full-text n-gram search for your MongoDB models

· Database Zone ·
Free Resource

MariaDB TX, proven in production and driven by the community, is a complete database solution for any and every enterprise — a modern database for modern applications.

Today I wanted to let you know about a very handy library: mongoid_fulltext, an open-source full-text search implementation for your MongoId models in Ruby.

 

https://github.com/aaw/mongoid_fulltext


ngrams



We’ve been using mongoid_search for sometime now for auto-complete. It’s a fine component that splits sentences and uses MongoDB to index them. Unfortunately it doesn’t rank them, so results come in order of appearance. In contrast, mongoid-fulltext uses n-gram matching (with n=3 right now), so we index all of the substrings of length 3 from text that we want to search on. If you search for "damian hurst", mongoid_fulltext does lookups for "dam", "ami", "mia", "ian", "an ", "n h", " hu", "hur", "urs", and "rst" and combines the results to get a most likely match. This also means users can make simple spelling mistakes and still find something relevant. In addition, you can index multiple collections in a single index, producing best matching results within several models. Finally, mongoid-fulltext leverages MongoDB native indexing and map-reduce.

 

This library is written by @aaw, who implements most of art.sy search technology. All due credit goes entirely to him.


Source: http://code.dblock.org/mongoidfulltext-full-text-n-gram-search-for-your-mongodb-models

MariaDB AX is an open source database for modern analytics: distributed, columnar and easy to use.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}