elasticsearch_autocomplete
elasticsearch_autocomplete copied to clipboard
Simple autocomplete for rails models using awesome elasticsearch and tire gem
ElasticsearchAutocomplete
Simple autocomplete for rails models using awesome Elasticsearch.
Example app
Look at ElasticsearchAutocomplete example app
Installation
Add this line to your application's Gemfile:
gem 'elasticsearch_autocomplete'
And then execute:
$ bundle
Or install it yourself as:
$ gem install elasticsearch_autocomplete
Basic Usage
Specify attributes for autocompletion. By default, this is name attribute:
class User < ActiveRecord::Base
ac_field :full_name
end
Don't forget to rebuild elasticsearch index:
$ rake environment tire:import CLASS='User' FORCE=true
To find suggestions call ac_search method on your model. It return Tire::Results::Collection instance:
User.ac_search('Alex').map(&:full_name)
=> ['Alex First', 'Alexandr Second']
You can specify fields for suggestions search:
class User < ActiveRecord::Base
ac_field :full_name, search_fields: [:full_name, :email]
end
For search on localized fields such as name_en, name_ru:
class Product < ActiveRecord::Base
ac_field :name, localized: true
end
If you want to define settings and mapping for elasticsearch index yourselves:
class Product < ActiveRecord::Base
ac_field :name, skip_settings: true
end
Contributing
- Fork it
- Create your feature branch (
git checkout -b my-new-feature) - Commit your changes (
git commit -am 'Add some feature') - Push to the branch (
git push origin my-new-feature) - Create new Pull Request

