App Search

App Search

Pour l'utilisateur, la qualité de l'expérience de recherche peut faire toute la différence : la pertinence des résultats et la rapidité à laquelle il les trouve peuvent transformer son expérience du tout au tout. Ce n'est pas un hasard si Elasticsearch a conquis le cœur des internautes pour se hisser au rang de premier moteur de recherche open source.

Découvrez la recherche applicative avec Elastic. Essayer

Nouveau Elastic App Search maintenant disponible. Ajoutez un moteur de recherche à votre application en quelques minutes. Essayer

Saviez-vous que vous avez utilisé Elastic au cours des dernières 24 heures ?

Nous faisons tous des recherches. Relevés de carte bancaire, rendez-vous, repas à emporter, bouteilles de shampoing, taxis… Elasticsearch est en fait derrière l'expérience de recherche de milliers d'applications et de sites web – de Wikipédia, à eBay, en passant par Groupon, Yelp, Tinder ou Dell.com.

Il peut s'agir de recherche de documents, de produits sur un site d'e-commerce, d'adresses, ou encore de recherche sémantique. En vérité, les possibilités se déclinent à l'infini. Envie de vous lancer ? Découvrez comment faire.

Un moteur de recherche rapide et évolutif

Les requêtes dont l'exécution demande plusieurs minutes ou plusieurs heures dans d'autres systèmes ne prennent que quelques millisecondes avec Elasticsearch. Avec Elasticsearch, même un pétaoctet de données est toujours disponible et immédiatement accessible. Voilà un moteur de recherche conçu pour traiter rapidement tout ce que vous lui demandez : texte, chiffres, dates, adresses IP, ou encore données géographiques.

De plus, vous pouvez commencer à petite échelle et monter en puissance par la suite. Elasticsearch peut évoluer horizontalement et gère automatiquement la manière dont les index et les requêtes sont distribués dans le cluster.

Le moteur de recherche qui vous ressemble

Elasticsearch vous donne un contrôle total de l'expérience de recherche dans votre application. Il s'agit de votre moteur de recherche open source, pas d'une boîte noire.

Vous êtes libres d'ajuster la pertinence, de configurer l'analyse textuelle et d'optimiser les requêtes. Vous pouvez aussi booster vos résultats grâce à des informations en temps réel sur les recherches des utilisateurs, le moment où ils les effectuent, les recherches qu'ils lancent par la suite, et plus encore.

Elasticsearch : pensé pour les développeurs

Elasticsearch s'appuie sur un langage de requête simple et cohérent et utilise des API RESTful et JSON standards. Notre moteur de recherche est également compatible avec des clients dans de nombreux langages – Python, Ruby, .NET, Java, Groovy, pour n'en citer que quelques-uns. Ceux-ci vous permettent d'exploiter Elasticsearch comme bon vous semble et le plus naturellement du monde, quelles que soient vos connaissances en développement.

(Sans oublier notre communauté, qui compte plus de 100 000 membres sur les quatre continents. Une de nos plus grandes fiertés.)

									curl -H "Content-Type: application/json" -XGET
'http://localhost:9200/social-*/_search' -d '{
  "query": {
    "match": {
      "message": "myProduct"
    }
  },
  "aggregations": {
    "top_10_states": {
      "terms": {
        "field": "state",
        "size": 10
      }
    }
  }
}'
								
									RestHighLevelClient client = new RestHighLevelClient(RestClient.builder(
                    new HttpHost("localhost", 9200, "http")).build());

SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.query(QueryBuilders.matchAllQuery());            
searchSourceBuilder.aggregation(AggregationBuilders.terms("top_10_states").field("state").size(10));

SearchRequest searchRequest = new SearchRequest();
searchRequest.indices("social-*");
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest);
								
									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
      }
    }
  }
}
								

Rejoignez le club

La règle d'or du géant de la distribution pharmaceutique américaine Walgreens ? "Ne pas faire perdre de temps au client." Pour tenir sa promesse, l'entreprise a opté pour Elasticsearch et dit adieu à la solution de recherche propriétaire trop rigide sur laquelle s'appuyait son application mobile.

D'autres entreprises ont confié leur recherche à Elastic. Découvrez d'autres témoignages clients.

Faire des recherches dans une application n'est qu'un point de départ

Vous avez des indicateurs ? Des logs de proxy ou de pare-feu ? Site web ou journaux de serveur ? Centralisez le tout dans la Suite Elastic pour enrichir vos recherches.

Security Analytics

Analyse interactive rapide et évolutive.

En savoir plus

Metrics

Supervisez processeur, mémoire, et bien plus.

En savoir plus

Site Search

Créez facilement une excellente expérience de recherche.

En savoir plus

Logging

Un logging rapide et évolutif qui ne vous laissera pas tomber.

En savoir plus

APM

Obtenez un aperçu de la performance de vos applications.

En savoir plus