Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Fetching contributors…

Cannot retrieve contributors at this time

173 lines (143 sloc) 6.685 kB
0.24 2013-01-04
BUG FIX
- has_changed was failing when comparing attributes that contained
references.
- Fixed tests for SearchBuilder that were failing with the new
hash changes in perl 5.17
ENHANCEMENT
- update_mapping and delete_mapping now accept optional \%args
which get passed on to ElasticSearch.pm
0.23 2012-11-23
Doc corrections
0.22 2012-11-22
ENHANCEMENT
- Add specific mapping for Maybe[Bool] which treats undef values
as NULL / missing, while Bool fields still treat undef as false.
0.21 2012-11-17
BUG FIX
- Model metaclass attributes were being initialized from the same
hashrefs, meaning that data (eg types in a namespace) were shared
between independent models.
Thanks to AMIRI for reporting
0.20 2012-11-16
BREAKING CHANGE
- has_changed() and old_values() was implemented with triggers on
every doc class attribute. This was buggy because
1) it wasn't applied to attributes from roles
2) it didn't check arrays/hashes correctly
3) it was slow
We now handle all of the above correctly, by comparing canonical
versions of the deflated object with the data loaded from ES.
has_changed() was called by save() to prevent saving if the
object hadn't actually changed. We no longer do this - if you
call save(), your object will be saved. If you want to run this
check yourself, you can do:
$doc->save if $doc->has_changed;
old_value() has been removed because it requires old_values() to
build a comparison of all attributes that have changed, so it
is more efficient to just call old_values() once, eg:
$old = $doc->old_values;
if (exists $old->{foo}) {...}
if (exists $old->{bar}) {...}
ENHANCEMENT
- added apply_field_settings() to Elastic::Doc to make it easier
to configure attributes applied from roles, when you may not
have edit access to the role itself.
0.19 2012-11-15
ENHANCEMENT
- Inflators and deflators are now inlined whenever possible, resulting
in a big performance boost
0.18 2012-11-14
ENHANCEMENT
- Optimized UID and stub object creation - big performance improvement
when retrieving docs from elasticsearch
0.17 2012-11-09
ENHANCMENT
- handle empty queryb/fiterb/post_filterb clauses gracefully
0.16 2012-11-06
BREAKING CHANGE:
- removed the to_cache() method that was added in v0.15
ENHANCEMENT:
- added integration with a CHI-compatible cache for bounded searches
0.15 2012-11-02
BUG FIX:
- the default values for wrapper/multi_wrapper in Iterator were
not being returned as code refs
ENHANCEMENT:
- added to_cache() to Elastic::Model::Results to return a cacheable
data structure which can later be reinflated to the full result set
0.14 2012-11-01
BREAKING CHANGE:
- upgraded minimum ES version to 0.19.11 to take advantage of the
new match queries
ENHANCEMENT:
- Added Elastic::Model::Bulk for bulk indexing of documents.
0.13 2012-10-10
BUG FIXES:
- UIDs from search results were missing the routing value
- use Elastic::Doc on 'extend'ed classes didn't work as expected
- Minimum version of Moose set to 2.06
0.12 2012-09-22
ENHANCEMENT:
- Added support for retrieving partial objects (thanks to DIEGOK
for suggesting)
- Improved documentation (thanks to TIMB)
0.11 2012-08-18
ENHANCEMENT:
- Variable::Magic v 0.51 allows us to remove the magic after inflating
a stub object - thanks to VPIT for the new version
0.10 2012-08-15
BUG FIX:
- Declare a minimum version for ElasticSearch::SearchBuilder
0.09 2012-08-14
ENHANCEMENT:
- Added terms_indexed_for_field() to Elastic::Model::Role::Doc to aid
debugging.
- Added id() and type() convenience methods on Elastic::Model::Role::Doc
which call the equivalent method on the doc's UID
BUG FIX:
- Changed the mapping for UIDs to use the full path name, not
'just_name'. * REQUIRES REINDEXING *
This fixes a major bug where all Doc class attributes in an object
were being indexed in the same fields, so it was impossible to
distinguish a search for (mother => $user) from (father => $user).
Unfortunately, this means it is no longer possible to search for just
any UID using queryb($uid), as it now needs the full path name for
the attribute, eg queryb( 'user.partner' => $user ).
Consequently, I've also had to change the Index->repoint_uids
to search in all possible UID attributes.
0.08 2012-08-09
ENHANCEMENT:
- added a transform() parameter to reindex() to allow the user to
change the data structure while reindexing
BUG FIX:
- don't try to destroy scopes during global shutdown
- reindex() was loading all docs into memory, rather than processing
them in blocks
0.07 2012-08-02
ENHANCEMENT:
- Added Elastic::Model::SearchBuilder to automatically serialize
queries/filters like ->filterb( user => $user_doc )
or ->filterb( $uid )
0.06 2012-08-02
BUG:
- The unique key was using the attribute name, rather than
the unique key name.
0.05 2012-08-01
ENHANCMENTS:
- Added support for unique_keys via ElasticSearchX::UniqueKey
- Added a Keyword type to be used for not_analyzed string fields
- Handle stub doc inflation using Variable::Magic instead of
wrapping _inline_instance_* in Moose
BUG FIXES:
- Lazy attributes weren't being built properly during deflation
0.04 2012-07-25
overwrite() should work for new docs as well as docs loaded from ES
on_conflict() called with $doc->create doesn't get a version number,
so just load the existing doc
0.03 2012-07-08
Skip parts of the test suite which require a live cluster to run
0.02 2012-07-07
Removed the 'trial' flag. First public release.
0.01 2012-07-07
First release
Jump to Line
Something went wrong with that request. Please try again.