[[integrations]]

== Integrations

Integrations are not plugins, but are external tools or modules that make it easier to work with Elasticsearch.

[discrete]
[[cms-integrations]]
=== CMS integrations

[discrete]
==== Supported by the community:

* http://drupal.org/project/search_api_elasticsearch[Drupal]:
  Drupal Elasticsearch integration via Search API.

* https://drupal.org/project/elasticsearch_connector[Drupal]:
  Drupal Elasticsearch integration.

* https://wordpress.org/plugins/elasticpress/[ElasticPress]:
  Elasticsearch WordPress Plugin

* https://wordpress.org/plugins/wpsolr-search-engine/[WPSOLR]:
  Elasticsearch (and Apache Solr) WordPress Plugin

* https://doc.tiki.org/Elasticsearch[Tiki Wiki CMS Groupware]:
  Tiki has native support for Elasticsearch. This provides faster & better
  search (facets, etc), along with some Natural Language Processing features
  (ex.: More like this)

* http://extensions.xwiki.org/xwiki/bin/view/Extension/Elastic+Search+Macro/[XWiki Next Generation Wiki]:
  XWiki has an Elasticsearch and Kibana macro allowing to run Elasticsearch queries and display the results in XWiki pages using XWiki's scripting language as well as include Kibana Widgets in XWiki pages

[discrete]
[[data-integrations]]
=== Data import/export and validation

NOTE: Rivers were used to import data from external systems into Elasticsearch prior to the 2.0 release. Elasticsearch
releases 2.0 and later do not support rivers.

[discrete]
==== Supported by Elasticsearch:

* {logstash-ref}/plugins-outputs-elasticsearch.html[Logstash output to Elasticsearch]:
  The Logstash `elasticsearch` output plugin.
* {logstash-ref}/plugins-inputs-elasticsearch.html[Elasticsearch input to Logstash]
  The Logstash `elasticsearch` input plugin.
* {logstash-ref}/plugins-filters-elasticsearch.html[Elasticsearch event filtering in Logstash]
  The Logstash `elasticsearch` filter plugin.
* {logstash-ref}/plugins-codecs-es_bulk.html[Elasticsearch bulk codec]
  The Logstash `es_bulk` plugin decodes the Elasticsearch bulk format into individual events.

[discrete]
==== Supported by the community:

* https://github.com/jprante/elasticsearch-jdbc[JDBC importer]:
  The Java Database Connection (JDBC) importer allows to fetch data from JDBC sources for indexing into Elasticsearch (by Jörg Prante)

* https://github.com/BigDataDevs/kafka-elasticsearch-consumer [Kafka Standalone Consumer(Indexer)]:
  Kafka Standalone Consumer [Indexer] will read messages from Kafka in batches, processes(as implemented) and bulk-indexes them into Elasticsearch. Flexible and scalable. More documentation in above GitHub repo's Wiki.

* https://github.com/ozlerhakan/mongolastic[Mongolastic]:
  A tool that clones data from Elasticsearch to MongoDB and vice versa

* https://github.com/Aconex/scrutineer[Scrutineer]:
  A high performance consistency checker to compare what you've indexed
  with your source of truth content (e.g. DB)

* https://github.com/salyh/elasticsearch-imap[IMAP/POP3/Mail importer]:
  The Mail importer allows to fetch data from IMAP and POP3 servers for indexing into Elasticsearch (by Hendrik Saly)

* https://github.com/dadoonet/fscrawler[FS Crawler]:
  The File System (FS) crawler allows to index documents (PDF, Open Office...) from your local file system and over SSH. (by David Pilato)

* https://github.com/senacor/elasticsearch-evolution[Elasticsearch Evolution]:
  A library to migrate elasticsearch mappings.

[discrete]
[[deployment]]
=== Deployment

[discrete]
==== Supported by Elasticsearch:

* https://github.com/elastic/ansible-elasticsearch[Ansible playbook for Elasticsearch]:
  An officially supported ansible playbook for Elasticsearch. Tested with the latest version of 5.x and 6.x on Ubuntu 14.04/16.04, Debian 8, Centos 7.

* https://github.com/elastic/puppet-elasticsearch[Puppet]:
  Elasticsearch puppet module.

[discrete]
==== Supported by the community:

* https://github.com/elastic/cookbook-elasticsearch[Chef]:
  Chef cookbook for Elasticsearch

[discrete]
[[framework-integrations]]
=== Framework integrations

[discrete]
==== Supported by the community:

* http://www.searchtechnologies.com/aspire-for-elasticsearch[Aspire for Elasticsearch]:
  Aspire, from Search Technologies, is a powerful connector and processing
  framework designed for unstructured data. It has connectors to internal and
  external repositories including SharePoint, Documentum, Jive, RDB, file
  systems, websites and more, and can transform and normalize this data before
  indexing in Elasticsearch.

* https://camel.apache.org/elasticsearch.html[Apache Camel Integration]:
  An Apache camel component to integrate Elasticsearch

* https://metacpan.org/pod/Catmandu::Store::ElasticSearch[Catmandu]:
  An Elasticsearch backend for the Catmandu framework.

* https://github.com/FriendsOfSymfony/FOSElasticaBundle[FOSElasticaBundle]:
  Symfony2 Bundle wrapping Elastica.

* http://grails.org/plugin/elasticsearch[Grails]:
  Elasticsearch Grails plugin.

* http://haystacksearch.org/[Haystack]:
  Modular search for Django

* http://hibernate.org/search/[Hibernate Search]
  Integration with Hibernate ORM, from the Hibernate team. Automatic synchronization of write operations, yet exposes full Elasticsearch capabilities for queries. Can return either Elasticsearch native or re-map queries back into managed entities loaded within transaction from the reference database.

* https://github.com/spring-projects/spring-data-elasticsearch[Spring Data Elasticsearch]:
  Spring Data implementation for Elasticsearch

* https://github.com/dadoonet/spring-elasticsearch[Spring Elasticsearch]:
  Spring Factory for Elasticsearch

* https://github.com/twitter/storehaus[Twitter Storehaus]:
  Thin asynchronous Scala client for Storehaus.

* https://zeebe.io[Zeebe]:
  An Elasticsearch exporter acts as a bridge between Zeebe and Elasticsearch

* https://pulsar.apache.org/docs/en/io-elasticsearch[Apache Pulsar]:
  The Elasticsearch Sink Connector is used to pull messages from Pulsar topics
  and persist the messages to a index.

* https://micronaut-projects.github.io/micronaut-elasticsearch/latest/guide/index.html[Micronaut Elasticsearch Integration]:
  Integration of Micronaut with Elasticsearch

* https://streampipes.apache.org[Apache StreamPipes]:
  StreamPipes is a framework that enables users to work with IoT data sources.

* https://metamodel.apache.org/[Apache MetaModel]:
  Providing a common interface for discovery, exploration of metadata and querying of different types of data sources.

* https://jooby.org/doc/elasticsearch/[Jooby Framework]:
  Scalable, fast and modular micro web framework for Java.

* https://micrometer.io[Micrometer]:
  Vendor-neutral application metrics facade. Think SLF4j, but for metrics.

[discrete]
[[hadoop-integrations]]
=== Hadoop integrations

[discrete]
==== Supported by Elasticsearch:

* link:/guide/en/elasticsearch/hadoop/current/[es-hadoop]: Elasticsearch real-time
  search and analytics natively integrated with Hadoop. Supports Map/Reduce,
  Cascading, Apache Hive, Apache Pig, Apache Spark and Apache Storm.

[discrete]
==== Supported by the community:

* https://github.com/criteo/garmadon[Garmadon]:
  Garmadon is a solution for Hadoop Cluster realtime introspection.


[discrete]
[[monitoring-integrations]]
=== Health and Performance Monitoring

[discrete]
==== Supported by the community:

* https://github.com/radu-gheorghe/check-es[check-es]:
  Nagios/Shinken plugins for checking on Elasticsearch

* http://sematext.com/spm/index.html[SPM for Elasticsearch]:
  Performance monitoring with live charts showing cluster and node stats, integrated
  alerts, email reports, etc.
* https://www.zabbix.com/integrations/elasticsearch[Zabbix monitoring template]:
  Monitor the performance and status of your {es} nodes and cluster with Zabbix
  and receive events information.

[[other-integrations]]
[discrete]
=== Other integrations

[discrete]
==== Supported by the community:

* https://www.wireshark.org/[Wireshark]:
  Protocol dissection for HTTP and the transport protocol

* https://www.itemsapi.com/[ItemsAPI]:
  Search backend for mobile and web
