Documentation Index Fetch the complete documentation index at: https://www.meilisearch.com/docs/llms.txt
Use this file to discover all available pages before exploring further.
This guide walks you through setting up Meilisearch with Ruby.
Prerequisites
1. Install the SDK
Or add to your Gemfile:
2. Connect to Meilisearch
require 'meilisearch'
client = MeiliSearch :: Client . new (
ENV [ 'MEILISEARCH_URL' ],
ENV [ 'MEILISEARCH_KEY' ]
)
Set your environment variables: export MEILISEARCH_URL = "https://your-instance.meilisearch.io" # or http://localhost:7700
export MEILISEARCH_KEY = "your_api_key"
Get a free Cloud instance →
3. Add documents
movies = [
{ id: 1 , title: 'The Matrix' , genres: [ 'Action' , 'Sci-Fi' ], year: 1999 },
{ id: 2 , title: 'Inception' , genres: [ 'Action' , 'Thriller' ], year: 2010 },
{ id: 3 , title: 'Interstellar' , genres: [ 'Drama' , 'Sci-Fi' ], year: 2014 }
]
# Add documents to the 'movies' index
task = client. index ( 'movies' ). add_documents (movies)
# Wait for indexing to complete
client. wait_for_task (task[ 'taskUid' ])
4. Search
results = client. index ( 'movies' ). search ( 'matrix' )
puts results[ 'hits' ]
# [{"id"=>1, "title"=>"The Matrix", "genres"=>["Action", "Sci-Fi"], "year"=>1999}]
5. Search with filters
First, configure filterable attributes:
client. index ( 'movies' ). update_filterable_attributes ([ 'genres' , 'year' ])
Then search with filters:
results = client. index ( 'movies' ). search ( '' , {
filter: 'genres = "Sci-Fi" AND year > 2000'
})
Full example
require 'meilisearch'
client = MeiliSearch :: Client . new (
ENV [ 'MEILISEARCH_URL' ],
ENV [ 'MEILISEARCH_KEY' ]
)
# Add documents
movies = [
{ id: 1 , title: 'The Matrix' , genres: [ 'Action' , 'Sci-Fi' ], year: 1999 },
{ id: 2 , title: 'Inception' , genres: [ 'Action' , 'Thriller' ], year: 2010 },
{ id: 3 , title: 'Interstellar' , genres: [ 'Drama' , 'Sci-Fi' ], year: 2014 }
]
task = client. index ( 'movies' ). add_documents (movies)
client. wait_for_task (task[ 'taskUid' ])
# Search
results = client. index ( 'movies' ). search ( 'inter' )
puts results[ 'hits' ]
Rails integration
For Rails applications, use the meilisearch-rails gem:
gem install meilisearch-rails
Add to your model:
class Movie < ApplicationRecord
include MeiliSearch :: Rails
meilisearch do
attribute :title , :genres , :year
searchable_attributes [ :title ]
filterable_attributes [ :genres , :year ]
end
end
See the full Rails guide →
Next steps
Rails integration Full Rails integration guide
Full-text search Configure ranking and relevancy
Filtering Add filters and facets
API reference Explore all search parameters
Resources