Elasticsearch

Das Herz des Elastic Stacks

Elasticsearch ist eine verteilte, REST-basierte Such- und Analytik-Engine, die eine wachsende Zahl von Anwendungsfällen abdecken kann. Als Herzstück vom Elastic Stack speichert es deine Daten zentral, sodass du darin das Erwartete leicht finden und das Unerwartete entdecken kannst.

Beginn mit Elasticsearch. Video ansehen

New More secure, ludicrously fast, and packed with new features including super efficient numbers and a secure new built-in scripting language. Read More

QUERY

Sei neugierig. Stelle alle möglichen Fragen an deine Daten.

Mit Elasticsearch kannst du viele Arten von Suchanfragen durchführen und kombinieren – strukturiert oder unstrukturiert, nach Geoinformationen oder Metriken – ganz, wie du es wünschst. Beginne mit einer einfachen Frage und schau, wo sie dich hinführt.

ANALYSIEREN

Tritt einen Schritt zurück und betrachte das Gesamtbild.

Es ist eine Sache, die zehn Dokumente zu finden, die am besten zu deiner Suchanfrage passen. Aber wie wird man aus, sagen wir, einer Milliarde Logzeilen schlau? Die Aggregationen von Elasticsearch erlauben die übergeordnete Betrachtung von Trends und Mustern in deinen Daten.

GESCHWINDIGKEIT

Elasticsearch ist schnell.
Richtig, richtig schnell.

Wenn du unverzüglich Antworten erhältst, verändert sich dein Bezug zu deinen Daten. Du kannst iterieren und Daten großflächig erfassen.

So schnell zu sein, ist nicht ganz einfach. Wir haben invertierte Indizes mit finiten Transduktoren implementiert, um Volltext-Queries, BKD-Bäume zur Speicherung numerischer und geographischer Daten sowie eine spaltenorientierte Datenstruktur für die Analytik zu ermöglichen.

Da alles indiziert ist, kommt niemals Indexneid auf. Du kannst alle deine Daten mit unverschämt hoher Geschwindigkeit abrufen und verarbeiten.

SKALIERBARKEIT

Läuft auf deinem Laptop. Oder auf Hunderten von Servern mit Petabytes an Daten.

Gehe nahtlos vom Prototyp zur Produktion über: Du kommunizierst mit Elasticsearch auf einem einzelnen Knoten genau gleich wie mit einem Cluster auf 300 Knoten.

Die Skalierung erfolgt horizontal und verarbeitet so eine Zillion Ereignisse pro Sekunde. Dabei wird automatisch die Verteilung der Queries und Indizes im Cluster verwaltet und ein reibungsloser Betrieb gewährleistet.

OPERATIVE ZUFRIEDENHEIT

Damit du öfter mal die Hände zum Feiern frei hast
(Und nicht so häufig mit gesenktem Kopf über der Tastatur hängst)

Einfache Dinge sollten auch einfach bleiben. Wir haben Elasticsearch so gestaltet, dass es in jeder Größe ohne Abstriche in Sachen Leistung und Ergebnis einfach zu betreiben ist.

CLIENT-BIBLIOTHEKEN

Kommuniziere mit Elasticsearch in der Programmiersprache deiner Wahl

Elasticsearch verwendet standardmäßige RESTful APIs und JSON. Zudem nutzten und warten wir Clients in vielen anderen Sprachen wie Java, Python, .Net oder Groovey. Außerdem hat unsere Community zu noch viel mehr Sprachen beigetragen. Daher sind sie einfach zu verwenden, intuitiv im Gebrauch und haben (wie auch Elasticsearch) keine Grenzen bezüglich ihrer Anwendbarkeit. Mehr erfahren

                                    curl -XGET 'http://localhost:9200/social-*/_search' -d '{
  "query": {
    "match": {
      "message": "myProduct"
    }
  },
  "aggregations": {
    "top_10_states": {
      "terms": {
        "field": "state",
        "size": 10
      }
    }
  }
}'
                                
                                    TransportClient client = new PreBuiltTransportClient(Settings.EMPTY)
   .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300));

SearchResponse sr = client.prepareSearch()
 .setQuery(QueryBuilders.matchQuery("message", "myProduct"))
 .addAggregation(AggregationBuilders.terms("top_10_states")
 .field("state").size(10))
 .execute().actionGet();

client.close();
                                
                                    var client = new ElasticClient();

var searchResponse = client.Search<Tweet>(s => s
    .Index("social-*")
    .Query(q => q
        .Match(m => m
            .Field(f => f.Message)
            .Query("myProduct")
        )
    )
    .Aggregations(a => a
        .Terms("top_10_states", t => t
            .Field(f => f.State)
            .Size(10)
        )
    )
);
                                
                                    from elasticsearch import Elasticsearch

esclient = Elasticsearch(['localhost:9200'])
response = esclient.search(
index='social-*',
body={
    "query": {
        "match": {
            "message": "myProduct"
        }
    },
    "aggs": {
        "top_10_states": {
            "terms": {
                "field": "state",
                "size": 10
            }
        }
    }
}
)
                                
                                    var elasticsearch = require('elasticsearch');
var esclient = new elasticsearch.Client({
  host: 'localhost:9200'
});
esclient.search({
  index: 'social-*',
  body: {
    query: {
      match: { message: 'myProduct' }
    },
    aggs: {
      top_10_states: {
        terms: {
            field: 'state',
            size: 10
        }
      }
    }
  }
}
).then(function (response) {
    var hits = response.hits.hits;
}
);
                                
                                    $esclient = Elasticsearch\ClientBuilder::create()
              ->setHosts(["localhost:9200"])
              ->build();
$params = [
'index' => 'social-*',
'body' => [
    'query' => [
        'match' => [ 'message' => 'myProduct' ]
    ],
    'aggs' => [
        'top_10_states' => [
            'terms' => [
                'field' => 'state',
                'size' => 10,
            ]
        ]
    ]
]
];
$response = $esclient->search($params);
                                
                                    use Search::Elasticsearch;

my $esclient = Search::Elasticsearch->new( nodes => 'localhost:9200' );
my $response = $esclient->search(
index => 'social-*',
body => {
        query => {
            match => { message => 'myProduct' }
        },
        aggs => {
            top_10_states => {
                terms => {
                    field => 'state',
                    size => 10
                }
            }
        }
    }
);
                                
                                    require 'elasticsearch'

esclient = Elasticsearch::Client.new

response = esclient.search index: 'social-*', body: {
  query: {
    match: {
      message: 'myProduct'
    }
  },
  aggregations: {
    top_10_states: {
      terms: {
        field: 'state',
        size: 10
      }
    }
  }
}
                                
FÜR FIRMENKUNDEN GEEIGNET

Sichern. Überwachen.

Du möchtest deinem Cluster einen Benutzernamen und ein Passwort zuweisen? Dazu musst du nur "Security" installieren. Du möchtest die Leistung von Elasticsearch überprüfen? Dann füge einfach "Monitoring" hinzu. All diese Funktionen erhältst du mit X-Pack.

X-Pack ist einfach zu installieren und bietet dir zahlreiche zusätzliche Anwendungsfälle in Sachen Security, Monitoring, Alerting, Reporting sowie bei der Erforschung von Graph – für ein umfassendes Elasticsearch-Erlebnis.

HADOOP & SPARK

Elasticsearch Plus Hadoop

Speichern Sie viele Daten in Hadoop? Nutzen Sie die analytischen Funktionen und die Suche in Echtzeit von Elasticsearch. Mit dem Elasticsearch-Hadoop (ES-Hadoop) Connector nutzen Sie die Vorteile beider Systeme.