Movatterモバイル変換


[0]ホーム

URL:


Loading

ActiveModel / ActiveRecord

Theelasticsearch-modelRubygem provides integration with Ruby domain objects ("models"), commonly found for example, in Ruby on Rails applications.

It uses theelasticsearch Rubygem as the client communicating with the Elasticsearch cluster.

  • ActiveModel integration with adapters for ActiveRecord and Mongoid
  • Enumerable-based wrapper for search results
  • ActiveRecord::Relation-based wrapper for returning search results as records
  • Convenience model methods such assearch,mapping,import, etc
  • Support for Kaminari and WillPaginate pagination
  • Extension implemented via proxy object to shield model namespace from collisions
  • Convenience methods for (re)creating the index, setting up mappings, indexing documents, …

Add the library to your Gemfile:

gem 'elasticsearch-rails'

Include the extension module in your model class:

class Article < ActiveRecord::Base  include Elasticsearch::Modelend

Import some data and perform a search:

Article.importresponse = Article.search 'fox dog'response.took# => 3

It is possible to either return results as model instances, or decorated documents from Elasticsearch, with therecords andresults methods, respectively:

response.records.first# Article Load (0.4ms)  SELECT "articles".* FROM "articles"  WHERE ...=> #<Article id: 3, title: "Foo " ...>response.results.first._score# => 0.02250402response.results.first._source.title# => "Quick brown fox"

Consult thedocumentation for more information.


[8]ページ先頭

©2009-2025 Movatter.jp