Changes for version 0.52 - 2015-11-19

  • Adjusted to work with Search::Elasticsearch v2.00
  • Elastic::Model is not compatible with Elasticsearch 2.x. Search::Elasticsearch, however, defaults to using a 2.x compatible client: 2_0::Direct. You should specify the client version explicitly when creating a Search::Elasticsearch instance:
    • use Search::Elasticsearch; use MyApp;
    • my $es = Search::Elasticsearch->new( client => '1_0::Direct', #### explicit client #### nodes => [ "", ""] );
    • my $model = MyApp->new( es => $es )


What is Elastic::Model and how do I use it?
Controlling how your attributes are indexed
Fine-tuning how your attributes are indexed
Making attributes unique
Important changes in Elastic::Model
An introduction to Elastic::Model
Differences between relational DBs and NoSQL document stores
How to use the Elasticsearch Query DSL
Overview of the filters available in Elasticsearch
Queries and filters for nested fields
Overview of the queries available in Elasticsearch
How to reindex your data from an old index to a new index
How to grow from a single node to a massive cluster
An optional in-memory cache, essential for keeping weak refs live
Which search method to use with a View, and how to use the results.
Explanation of terminology and concepts


Adds Elastic::Model functionality to your object classes
A NoSQL document store with full text search for Moose objects using Elasticsearch as a backend.
A 0.90.x compatibility class for Elastic::Model::Result
A 0.90.x compatibility class for Elastic::Model::Store
Administer aliases in Elasticsearch
Bulk-saving of multiple docs for increased throughput
A class to represent deleted doc objects which are still in scope
The domain (index or alias) where your docs are stored.
Create and administer indices in Elasticsearch
A meta-class for Docs
A meta-class for Models
Class-to-type map
A wrapper for individual search results
An iterator over bounded/finite search results
A cacheable iterator over bounded/finite search results
An iterator over unbounded search results
The role applied to your Doc classes
Provides admin methods common to indices and aliases
A generic iterator role
The role applied to your Model
An iterator role for search results
Elasticsearch backend for document read/write requests
Keeps objects alive and connected
An Elastic::Model specific subclass of ElasticSearch::SearchBuilder
A default implementation of the Elasticsearch backend
An internal use trait
Add Elasticsearch specific keywords to your attribute definitions.
A base class for all TypeMaps
Type maps for commonly used types
The default type map used by Elastic::Model
Type maps for ElasticSearch-specific types
Type maps for core Moose types
Type maps for objects and Moose classes
Type maps for MooseX::Types::Structured
MooseX::Types for general and internal use
The Unique ID of a document in an Elasticsearch cluster
Views to query your docs in Elasticsearch