Revision history for ElasticSearch
0.31 2011-03-16
Fixed a bad test plan
0.30 2011-03-16
- Added some missing requirements to Build.PL
- scroll() now accepts a 'scroll' parameter and works (but
sorting when scrolling still broken on the server)
- reindex_es.pl now also preserves the _parent and _routing fields
0.29 2011-03-15
- Updated the Changes file
0.28 2011-03-14
Support added for:
- Percolators
- create_percolator()
- delete_percolator()
- get_percolator()
- percolate()
- Open / Close index
- open_index()
- close_index()
- Index templates
- create_index_template()
- delete_index_template()
- index_template()
- Routing
- Parent docs
- Versioning
- Analyzer
- analyze()
- ElasticSearch::QueryParser
- Parses and filters query strings, to ensure that user
data is in an acceptable form for passing to ES
- ElasticSearch::TestServer
- starts a test server for use by the test suite
- factored out to make it easier for others to use
Also:
- create_index() now supports adding mappings at the same time
- Added bulk_create(), bulk_index() and bulk_delete()
- Bulk actions now accept _id and id etc, which means that
search results can be passed directly to bulk without renaming
these parameters
- Added river_status()
- New errors
- ElasticSearch::Error::Conflict - versioning conflict
- ElasticSearch::Error::Missing - requested index/doct etc missing
- both these errors inherit from ElasticSearch::Error::Request
- Added ignore_missing to many methods which allows you to ignore
Missing errors
- Added query_parser
- added timeout() as sugar for $es->transport->timeout()
- added refresh_servers() as sugar for $es->transport->refresh_servers()
In ElasticSearch::Transport
- added max_requests() to force a refresh of known live nodes
every $max_requests
- on the first request, the list of live nodes is automatically
updated
- made httplite recognise more error states as temporary Connection
errors
- added support for recognising 404 and 409 HTTP codes
- upgraded Thrift to version 5.0
- improvements to logging
Miscellaneous:
- added examples/reindex_es.pl
- fixed a bug in the Makefile.PL
0.27 2010-10-21
Fixed an undefined bug in Transport::refresh_servers which would
die if no nodes were found
0.26 2010-10-20
Added a missing dependency on parent.pm
0.25 2010-10-20
Another ambiguous use of localtime in ElasticSearch::Transport
0.24 2010-10-20
Corrected an ambiguous use of localtime in ElasticSearch::Transport
Added examples/search_issues.pl
Minor tidying to tests
0.23 2010-10-19
POD corrections
0.22 2010-10-19
Support ElasticSearch version 0.12.0
Added the bulk() method, for bulk indexing, creating and deleting
Added create_river(), delete_river() and get_river()
Added delete_mapping()
Added error_trace()
Completely refactored ElasticSearch to enable pluggable backends:
- The request parser methods now live in ElasticSearch/RequestParser.pm
although they are loaded into the ElasticSeach namespace
- Added ElasticSearch::Transport as a transport base class
- Added ElasticSearch::Transport::HTTP (default) as the LWP backend
- Added ElasticSearch::Transport::HTTPLite as the HTTP::Lite backend
- Added ElasticSearch::Transport::Thrift as the Thrift backend
- Added ElasticSearch::Error class for exception objects
- Added ElasticSearch::Util with some generally useful utilities
- A number of methods have from ElasticSearch to
ElasticSearch::transport including current_server(), servers(),
refresh_servers()
- Removed the debug() method - now use $ElasticSearch::DEBUG instead
- Added filter_keywords to ElasticSearch::Util
0.21 2010-09-18
Supports ElasticSearch version 0.10.0
Added the _source parameter to put_mapping()
0.20 2010-09-04
Supports ElasticSearch version 0.10.0
Added update_index_settings() plus test
Added pod coverage test
0.19 2010-08-19
Supports ElasticSearch version 0.9.1
Minor bug fix to cluster_state
Updated tests to use facet_filter instead of filter
0.18 2010-08-01
Updated Changes file
0.17 2010-08-01
Supports ElasticSearch version 0.9, which removes support for some
features of older versions.
- In search() added support for 'script_fields'
- In count() and delete_by_query() added support for 'custom_score',
'fuzzy', 'span_term', 'span_first', 'span_near', 'span_not',
'span_or'
- Removed terms() - now handled by search facets
- Added the 'full' parameter to flush_index()
- Changed put_mapping() to automatically prefix the type properties
definition with the type name
- Removed get_mapping() and replaced it with mapping(), which uses
the newly exposed GET _mapping API
- Added current_server_version()
- Added the 'filter_nodes', 'filter_metadata', 'filter_routing_table'
and 'filter_indices' params to cluster_state()
0.16 2010-05-20
Added an ElasticSearch::Error::Timeout error class, to catch
occassions when the request times out, instead of failing
for a different reason.
Also, catch 'Server closed connection' errors, and automatically
refresh_servers and retry the request.
0.15 2010-05-16
Fixed a bug in refresh_servers() introduced in 0.14, when forking
processes.
0.14 2010-05-16
The object now stores the original servers parameter, so that
if the nodes disassociate and the live server list is limited,
the object can still try the original servers.
0.13 2010-05-13
Added nodes_stats(), shutdown(), restart() and camel_case()
Removed Alien::ElasticSearch, as it is now easier to install
ElasticSearch directly.
Tested against ElasticSearch version 0.7.0
0.12 2010-04-16
Added scroll() and the indices_boost param to search()
Tested against ElasticSearch version 0.6.0
0.11 2010-04-07
Updated changelog
0.10 2010-04-07
Fixed the duration regex
Improved docs for shutdown()
0.09 2010-04-07
Changed refresh_servers to handle http_address and httpAddress
Added a terms filter test
0.08 2010-04-05
- Changed all_field to _all
0.07 2010-04-05
- All tests pass as of version 8cfa04cea3bc2317ee613384ced4da20cf2737aa
on 2010-04-04:
http://github.com/elasticsearch/elasticsearch/commit/8cfa04cea3bc2317ee613384ced4da20cf2737aa
- Updated the API to take into account ElasticSearch's change from
using camelCase to underscore_separators
- create() now uses the /_create postfix instead of op_type=create,
although that flag is still available through index() and set()
- Changed more_like_this and more_like_this_field to mlt and mlt_field
- Changed fuzzy_like_this and fuzzy_like_this_field to flt and flt_field
- Changed term() to use gt/gte/lt/lte instead of from/to and
fromInclusive/toInclusive
- put_mapping now defaults to { ignore_conflicts => 0 }, so the
default now is to complain
- In mlt, boost_terms:boolean and boost_terms_factor:float have now
been merged to boost_terms:float
0.06 2010-04-03
- The test suite now requires Alien::ElasticSearch, and uses its own
config file and work dir, so as not to interfere with existing
data
- Added clear_cache()
- Added fuzzy_like_this and fuzzy_like_this_field clauses to
count() and delete_by_query()
- Added more_like_this()
- Added more_like_this/more_like_this_field clauses to count()
and delete_by_query()
- Changed exclude_from and exclude_to to from_inclusive and to_inclusive
in the terms() query
- the filteredQuery clause renamed to 'filtered' as per a change in ES
- Added aliases() and get_aliases()
- Deleted the QueryDSL doc, as the ElasticSearch docs are much improved
0.05 2010-03-04
- Delayed connecting to the cluster until actually required (previously
it refreshed the server list in new() )
- Restructured the internals again, to make it easier to read
- Added cluster_health()
- Fixed the test suite so that auto-started nodes don't take over
the terminal
- Enabled more tests as ElasticSearch now less buggy
0.04 2010-02-23
- Added terms()
- Added get_mapping()
- Renamed create_mapping() to put_mapping()
- Added ignore_duplicate param to put_mapping
- skip create-duplicate-mapping test if cluster has more than one nodes
0.03 2010-02-21
- Corrected the docs for search/count/delete_by_query
- Added POD for the Query DSL
- Added a SIG{INT} to the test file, so that it shuts down the servers
if the test suite is interrupted
0.02 2010-02-21
- Rewrote the module completely to use a dispatch table -
makes it easier to extend
- Added a test suite
- Added Alien::ElasticSearch so that we can test against a live server
0.01 2010-02-16
First version, released on an unsuspecting world.