Maison > Java > javaDidacticiel > Comment utiliser Java pour développer une application de recherche en temps réel basée sur Elasticsearch

Comment utiliser Java pour développer une application de recherche en temps réel basée sur Elasticsearch

PHPz
Libérer: 2023-09-20 17:39:23
original
677 Les gens l'ont consulté

Comment utiliser Java pour développer une application de recherche en temps réel basée sur Elasticsearch

Comment utiliser Java pour développer une application de recherche en temps réel basée sur Elasticsearch

Résumé :
Cet article présente comment utiliser le langage Java pour développer une application de recherche en temps réel basée sur Elasticsearch. En combinant les puissantes capacités du moteur de recherche d'Elasticsearch avec la flexibilité et la facilité d'utilisation de Java comme langage de développement, nous pouvons créer un système de recherche en temps réel efficace et précis.

Mots clés : Java, Elasticsearch, recherche en temps réel, développement

1 Introduction
Avec la croissance explosive de l'information, la recherche en temps réel est devenue un élément indispensable des applications modernes. Elasticsearch est un moteur de recherche et d'analyse distribué en temps réel open source qui fournit de puissantes fonctions de recherche et peut répondre aux besoins de recherche dans différents scénarios d'application. Dans cet article, nous allons apprendre à utiliser le langage Java pour développer une application de recherche en temps réel basée sur Elasticsearch.

2. Préparation
Avant de commencer, nous devons préparer le travail suivant :

  1. Installer l'environnement de développement Java
  2. Télécharger et installer Elasticsearch
  3. Importer la bibliothèque client Elasticsearch de Java

3. Vous devez créer un client Elasticsearch pour interagir avec le serveur Elasticsearch. Il peut être créé à l'aide de la bibliothèque client Java officielle fournie par Elasticsearch ou d'autres bibliothèques tierces telles que RestHighLevelClient. Dans cet article, nous utilisons RestHighLevelClient à titre d'exemple.

Exemple de code :

RestHighLevelClient client = new RestHighLevelClient(
        RestClient.builder(
                new HttpHost("localhost", 9200, "http"),
                new HttpHost("localhost", 9201, "http")));
Copier après la connexion

4. Créer un index

Avant d'effectuer une recherche en temps réel, nous devons créer un index pour stocker nos données. Les index peuvent être considérés comme des tables dans une base de données, utilisées pour stocker et organiser les données. Nous pouvons créer des index via le client Elasticsearch.

Exemple de code :

CreateIndexRequest request = new CreateIndexRequest("my_index");
client.indices().create(request, RequestOptions.DEFAULT);
Copier après la connexion

5. Ajouter des documents

L'ajout de documents est le processus de stockage de données dans l'index Elasticsearch. Nous pouvons créer un objet IndexRequest, y ajouter des données de document, puis effectuer des opérations d'indexation via le client.

Exemple de code :

IndexRequest request = new IndexRequest("my_index")
        .id("1")
        .source("name", "John Doe",
                "age", 25,
                "email", "john.doe@example.com");
IndexResponse response = client.index(request, RequestOptions.DEFAULT);
Copier après la connexion

6. Données de recherche

L'utilisation d'Elasticsearch pour la recherche en temps réel est au centre de cet article. Nous pouvons effectuer des opérations de recherche en créant un objet SearchRequest et en définissant les conditions de recherche correspondantes.

Exemple de code :

SearchRequest request = new SearchRequest("my_index");
SearchSourceBuilder sourceBuilder = new SearchSourceBuilder();

TermQueryBuilder termQueryBuilder = QueryBuilders.termQuery("name", "John");

sourceBuilder.query(termQueryBuilder);
request.source(sourceBuilder);

SearchResponse response = client.search(request, RequestOptions.DEFAULT);
SearchHits hits = response.getHits();
Copier après la connexion

7. Traitement des résultats de recherche

Une fois que nous avons effectué une opération de recherche, nous devons traiter les résultats de recherche renvoyés. Les résultats de la recherche sont renvoyés sous la forme d'un ou plusieurs objets SearchHit. Chaque objet SearchHit représente un document qui répond aux critères de recherche.

Exemple de code :

for(SearchHit hit : hits) {
    String name = hit.getSourceAsMap().get("name").toString();
    int age = Integer.parseInt(hit.getSourceAsMap().get("age").toString());
    String email = hit.getSourceAsMap().get("email").toString();
    System.out.println("Name: " + name + ", Age: " + age + ", Email: " + email);
}
Copier après la connexion

8. Résumé

Dans cet article, nous avons appris à utiliser le langage Java pour développer une application de recherche en temps réel basée sur Elasticsearch. En combinant les puissantes capacités du moteur de recherche d'Elasticsearch avec la flexibilité de Java, nous pouvons créer un système de recherche en temps réel efficace et précis. Nous avons appris à créer un client Elasticsearch, à créer des index, à ajouter des documents, à effectuer des opérations de recherche et à traiter les résultats de recherche. J'espère que cet article pourra fournir une référence de base aux lecteurs pour les aider à démarrer rapidement et à maîtriser la méthode d'utilisation de Java pour développer des applications de recherche en temps réel basées sur Elasticsearch.

Références :

    Documentation officielle d'Elasticsearch : https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/index.html
  1. Documentation Java RestHighLevelClient : https://www . elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high.html
(nombre de mots : 1050 mots)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal