=== Removed features

==== Rivers have been removed

Elasticsearch does not support rivers anymore. While we had first planned to
keep them around to ease migration, keeping support for rivers proved to be
challenging as it conflicted with other important changes that we wanted to
bring to 2.0 like synchronous dynamic mappings updates, so we eventually
decided to remove them entirely. See
link:/blog/deprecating_rivers[Deprecating Rivers] for more background about
why we took this decision.

==== Facets have been removed

Facets, deprecated since 1.0, have now been removed.  Instead, use the much
more powerful and flexible <<search-aggregations,aggregations>> framework.
This also means that Kibana 3 will not work with Elasticsearch 2.0.

==== Delete-by-query is now a plugin

The old delete-by-query functionality was fast but unsafe.  It could lead to
document differences between the primary and replica shards, and could even
produce out of memory exceptions and cause the cluster to crash.

This feature has been reimplemented using the <<scroll-scan,scroll/scan>> and
the <<docs-bulk,`bulk`>> API, which may be slower for queries which match
large numbers of documents, but is safe.

Currently, a long running delete-by-query job cannot be cancelled, which is
one of the reasons that this functionality is only available as a plugin.  You
can install the plugin with:

[source,sh]
------------------
./bin/plugin install delete-by-query
------------------


==== `_shutdown` API

The `_shutdown` API has been removed without a replacement. Nodes should be
managed via the operating system and the provided start/stop scripts.

==== `murmur3` is now a plugin

The `murmur3` field, which indexes hashes of the field values, has been moved
out of core and is available as a plugin. It can be installed as:

[source,sh]
------------------
./bin/plugin install mapper-murmur3
------------------

==== `_size` is now a plugin

The `_size` meta-data field, which indexes the size in bytes of the original
JSON document, has been moved out of core and is available as a plugin.  It
can be installed as:

[source,sh]
------------------
./bin/plugin install mapper-size
------------------

==== Thrift and memcached transport

The thrift and memcached transport plugins are no longer supported.  Instead, use
either the HTTP transport (enabled by default) or the node or transport Java client.

==== Bulk UDP

The bulk UDP API has been removed.  Instead, use the standard
<<docs-bulk,`bulk`>> API, or use UDP to send documents to Logstash first.

==== MergeScheduler pluggability

The merge scheduler is no longer pluggable.

