Maison > base de données > tutoriel mysql > le corps du texte

Comment implémenter une fonction de moteur de recherche simple en utilisant MySQL et Java

WBOY
Libérer: 2023-09-21 12:00:45
original
1093 Les gens l'ont consulté

Comment implémenter une fonction de moteur de recherche simple en utilisant MySQL et Java

Comment utiliser MySQL et Java pour implémenter une fonction de moteur de recherche simple

Le moteur de recherche est l'une des applications très importantes de l'Internet moderne, et il n'est pas difficile d'implémenter une fonction de moteur de recherche de base. Dans cet article, nous présenterons comment utiliser MySQL et Java pour implémenter une fonction de moteur de recherche simple et fournirons des exemples de code spécifiques.

1. Conception de la base de données

Tout d'abord, nous devons concevoir une base de données pour stocker le contenu que nous souhaitons rechercher. Supposons que le contenu que nous souhaitons rechercher soit des informations sur un livre, nous pouvons concevoir un tableau nommé « livres », qui contient les champs suivants : identifiant, titre, auteur, description.

L'instruction SQL pour créer la table "books" est la suivante :

CREATE TABLE books (
  id INT PRIMARY KEY,
  title VARCHAR(255),
  author VARCHAR(255),
  description TEXT
);
Copier après la connexion

2. Préparation des données

Avant de commencer à implémenter la fonction du moteur de recherche, nous devons insérer des données de test dans la table "books" pour faciliter recherche.

L'instruction SQL pour insérer des données est la suivante :

INSERT INTO books (id, title, author, description)
VALUES (1, 'Java编程思想', 'Bruce Eckel', '深入浅出地讲解Java编程的基本思想和原理'),
       (2, 'Effective Java', 'Joshua Bloch', '讲解Java编程中的最佳实践和常见问题的解决方法'),
       (3, '数据库系统概念', 'Abraham Silberschatz', '系统地介绍了数据库的基本概念和设计原则');
Copier après la connexion

3. Implémentation de la fonction de recherche

Ensuite, nous utilisons du code Java pour implémenter la fonction de recherche. Tout d’abord, nous devons créer une classe Java pour encapsuler les résultats de la recherche.

public class SearchResult {
  private int id;
  private String title;
  private String author;
  private String description;
  
  // 省略getter和setter方法
}
Copier après la connexion

Ensuite, nous créons une classe Java appelée "SearchEngine" pour implémenter la fonction de recherche. Cette classe contient principalement une méthode nommée "search", qui permet d'effectuer des opérations de recherche.

import java.sql.*;
import java.util.ArrayList;
import java.util.List;

public class SearchEngine {
  private static final String JDBC_URL = "jdbc:mysql://localhost:3306/mydatabase";
  private static final String JDBC_USERNAME = "root";
  private static final String JDBC_PASSWORD = "password";
  
  public List<SearchResult> search(String keyword) {
    List<SearchResult> results = new ArrayList<>();
    
    try (Connection conn = DriverManager.getConnection(JDBC_URL, JDBC_USERNAME, JDBC_PASSWORD)) {
      String sql = "SELECT * FROM books WHERE title LIKE ? OR author LIKE ? OR description LIKE ?";
      try (PreparedStatement stmt = conn.prepareStatement(sql)) {
        stmt.setString(1, "%" + keyword + "%");
        stmt.setString(2, "%" + keyword + "%");
        stmt.setString(3, "%" + keyword + "%");
        
        try (ResultSet rs = stmt.executeQuery()) {
          while (rs.next()) {
            SearchResult result = new SearchResult();
            result.setId(rs.getInt("id"));
            result.setTitle(rs.getString("title"));
            result.setAuthor(rs.getString("author"));
            result.setDescription(rs.getString("description"));
            
            results.add(result);
          }
        }
      }
    } catch (SQLException e) {
      e.printStackTrace();
    }
    
    return results;
  }
}
Copier après la connexion

Le code ci-dessus se connecte à la base de données MySQL via JDBC et exécute une instruction SQL pour implémenter la fonction de recherche. Plus précisément, nous utilisons le mot-clé « LIKE » pour effectuer une correspondance floue afin d'atteindre la fonction de recherche d'informations sur un livre basée sur des mots-clés.

4. Utilisez la fonction de recherche

Enfin, montrons comment utiliser la fonction de recherche. Tout d’abord, vous devez créer une classe Java contenant une méthode principale.

public class Main {
  public static void main(String[] args) {
    SearchEngine searchEngine = new SearchEngine();
    List<SearchResult> results = searchEngine.search("Java");
    
    for (SearchResult result : results) {
      System.out.println(result.getTitle() + " - " + result.getAuthor());
      System.out.println(result.getDescription());
      System.out.println();
    }
  }
}
Copier après la connexion

Exécutez le code ci-dessus, nous obtiendrons les résultats de recherche d'informations sur les livres contenant le mot-clé "Java".

Résumé

Cet article explique comment utiliser MySQL et Java pour implémenter une fonction de moteur de recherche simple. Grâce à la conception de bases de données, à la préparation des données et à l'implémentation du code Java, nous avons réussi à mettre en œuvre la fonction de recherche d'informations sur les livres en fonction de mots-clés. Bien entendu, l’exemple présenté dans cet article n’est qu’une simple implémentation d’un moteur de recherche, et la fonction réelle du moteur de recherche est beaucoup plus complexe. J'espère que cet article pourra vous aider à comprendre les principes de base et les méthodes de mise en œuvre des moteurs de recherche.

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