Sha256: 181dde96b72f535b0f819224c3a2adb943084b38271fd13ad57d688f6d99c1d6

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

Mongoid Search
============

Mongoid Search is a simple full text search implementation for Mongoid ORM.

Installation
--------

In your Gemfile:

    gem 'mongoid_search'
  
Then:
  
    bundle install

Examples
--------

    class Product
      include Mongoid::Document
      include Mongoid::Search
      field :brand
      field :name

      references_many :tags
      
      search_in :brand, :name, :tags => :name
    end

    class Tag
      include Mongoid::Document
      field :name

      referenced_in :product
    end

Now when you save a product, you get a _keywords field automatically:
    
    p = Product.new :brand => "Apple", :name => "iPhone"
    p.tags << Tag.new(:name => "Amazing")
    p.tags << Tag.new(:name => "Awesome")
    p.tags << Tag.new(:name => "Superb")
    p.save
    => true
    p._keywords
    
Now you can run search, which will look in the _keywords field and return all matching results:

    Product.search("apple iphone").size
    => 1
    
Note that the search is case insensitive, and accept partial searching too:

    Product.search("ipho").size
    => 1
    
Options
-------

:match:
  :any - match any occurrence
  :all - match all ocurrences 
  Default is :any.

    search_in :brand, :name, { :tags => :name }, { :match => :any }
    
    Product.search("apple motorola").size
    => 1

    search_in :brand, :name, { :tags => :name }, { :match => :all }
    
    Product.search("apple motorola").size
    => 0

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
mongoid_search-0.1.2 README.md