Position actuelle: Accueil> Derniers articles> Comment utiliser PHP et SQLITE pour obtenir des capacités de recherche et d'indexation en texte intégral efficaces

Comment utiliser PHP et SQLITE pour obtenir des capacités de recherche et d'indexation en texte intégral efficaces

M66 2025-06-23

introduction:

Avec l'explosion des informations Internet, la recherche en texte intégral est devenue l'un des outils importants pour traiter de grandes quantités de données. Lors du développement d'un site Web ou d'une application, une recherche en texte intégral est cruciale, permettant aux utilisateurs de trouver rapidement les informations dont ils ont besoin. Cet article vous mènera étape par étape pour comprendre comment implémenter les fonctions de recherche et d'indexation de texte intégral via PHP et SQLite.

1. Installer et configurer SQLite

Tout d'abord, vous devez installer la base de données SQLite, qui peut être téléchargée à partir du site officiel de votre système d'exploitation. Après l'installation, assurez-vous d'activer l'extension SQLite dans le fichier de configuration de PHP (PHP.ini). Selon votre système d'exploitation, ajoutez le code suivant:

 extension=sqlite3.so  // Linuxsystème
extension=php_sqlite3.dll  // Windowssystème

Enregistrez le fichier de configuration et redémarrez le serveur Web pour que les modifications prennent effet.

2. Créez une base de données SQLite et des tables de données

Avant d'implémenter la recherche et l'indexation de texte complet, nous devons créer une base de données SQLite et créer une table de données pour stocker les données. Ouvrez un terminal ou une invite de commande, entrez le répertoire du projet et exécutez la commande suivante:

 sqlite3 mydatabase.db
CREATE TABLE articles (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    title TEXT,
    content TEXT
);

Enregistrer et quitter le terminal SQLite.

3. Insérer des données

Ensuite, nous simulerons quelques données d'article et l'insérerons dans la base de données pour la recherche et l'indexation en texte intégral. Voici le code PHP pour l'insertion de données:

 
$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$articles = [
    ['title' => 'utiliserPHPRechercher le texte intégral', 'content' => 'existerPHPmilieu,Nous avons plusieurs façons d'implémenter la fonction de recherche de texte intégral。'],
    ['title' => 'PHPetSQLiteLa grandeur de la recherche en texte intégral', 'content' => 'PHPetSQLiteC'est une combinaison parfaite,它们可以轻松地实现Recherche en texte intégralet索引功能。']
];

foreach ($articles as $article) {
    $sql = "INSERT INTO articles (title, content) VALUES (:title, :content)";
    $stmt = $pdo->prepare($sql);
    $stmt->execute($article);
}

Ce code se connecte à la base de données SQLite via PDO et insère les données dans le tableau à l'aide des instructions de prétraitement. Vous pouvez insérer plus de données en fonction des besoins réels.

4. Utilisez la recherche en texte intégral et l'indexation

Dans SQLite, l'utilisation de la fonction de recherche de texte intégral nécessite la création d'un index de texte complet. Nous créerons des index sur le titre de l'article et les colonnes de contenu pour améliorer l'efficacité de la recherche. Exécutez la commande SQL suivante pour créer un index complet:

 CREATE VIRTUAL TABLE articles_fts USING FTS5(title, content);

Ensuite, copiez les données de la table d'origine à l'index de texte intégral et gardez-le synchronisé et exécutez:

 INSERT INTO articles_fts(articles_fts) VALUES('rebuild');

Utilisez le code PHP suivant pour une recherche de texte intégral:

 
$pdo = new PDO("sqlite:mydatabase.db");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$search = "PHPRecherche en texte intégral";
$sql = "SELECT * FROM articles_fts WHERE content MATCH :search OR title MATCH :search";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':search', $search, PDO::PARAM_STR);
$stmt->execute();

$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $result) {
    echo "titre:{$result['title']},contenu:{$result['content']}";
}

Ce code recherchera des articles contenant "PHP Full Text Search" et sortira le titre et le contenu correspondants.

en conclusion:

Cet article présente comment utiliser PHP et SQLite pour implémenter les fonctions de recherche et d'indexation de texte complet. En créant des index de texte complet et en utilisant le module FTS5 de SQLite, nous pouvons facilement réaliser une recherche efficace en texte intégral dans les applications Web et améliorer l'expérience utilisateur. J'espère que cet article vous aide.