Comment indexer Java – Recherche rapide de documents avec GroupDocs

Si vous vous demandez comment indexer java fichiers efficacement, vous êtes au bon endroit. Dans le monde actuel axé sur les données, localiser rapidement le bon document peut faire gagner des heures de travail manuel. GroupDocs.Search for Java vous offre une méthode simple pour transformer un dossier de fichiers en un index interrogeable, vous permettant d’ajouter des documents à l’index, de supprimer des documents de l’index et de charger des documents depuis le système de fichiers en quelques lignes de code.

Vous trouverez ci‑dessous un guide pas à pas qui commence par la configuration requise, passe par la création et le remplissage d’un index, vous montre comment exécuter des recherches par mots‑clés, et se termine par des opérations de nettoyage comme les suppressions. Plongeons‑nous dedans !

Réponses rapides

  • Quel est le but principal ? Indexer et rechercher efficacement les documents Java.
  • Quelle bibliothèque est requise ? GroupDocs.Search for Java (v25.4+).
  • Ai‑je besoin d’une licence ? Un essai gratuit ou une licence temporaire est disponible ; une licence permanente est requise pour la production.
  • Puis‑je supprimer des documents de l’index ? Oui, en utilisant la méthode delete avec les clés de document.
  • Apache Commons IO est‑il obligatoire ? Il est recommandé pour les utilitaires de gestion de fichiers.

Qu’est‑ce que “how to index java” ?

L’indexation des documents Java consiste à créer une structure de données interrogeable (un index) qui associe le contenu des documents à des termes recherchables, permettant une récupération rapide des fichiers pertinents à partir de requêtes par mots‑clés.

Pourquoi utiliser GroupDocs.Search for Java ?

  • Vitesse : Des algorithmes optimisés offrent des résultats de requête rapides même sur de grandes collections.
  • Scalabilité : Gère des milliers de documents sans sacrifier les performances.
  • Flexibilité : Prend en charge de nombreux formats de fichiers et propose le chargement paresseux pour les gros fichiers.
  • Facilité d’intégration : Configuration Maven simple et une API propre et intuitive.

Prérequis

  • GroupDocs.Search for Java (version 25.4 ou plus récente).
  • Apache Commons IO pour des utilitaires de fichiers pratiques.
  • JDK 8 ou supérieur et un IDE tel qu’IntelliJ IDEA ou Eclipse.
  • Connaissances de base en Java et, éventuellement, familiarité avec Maven.

Configuration de GroupDocs.Search for Java

Configuration Maven

Ajoutez le dépôt et la dépendance à votre pom.xml :

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/search/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-search</artifactId>
      <version>25.4</version>
   </dependency>
</dependencies>

Astuce : Gardez le numéro de version synchronisé avec la dernière version pour bénéficier des améliorations de performances.

Téléchargement direct (si vous préférez ne pas utiliser Maven)

Vous pouvez également télécharger le dernier JAR depuis le site officiel : GroupDocs.Search for Java releases.

Acquisition de licence

  • Essai gratuit : Testez la bibliothèque sans clé de licence.
  • Licence temporaire : Demandez‑en une pour une évaluation prolongée.
  • Licence complète : Requise pour les déploiements en production.

Initialisation de base

Créez une classe Java simple pour vérifier que la bibliothèque se charge correctement :

import com.groupdocs.search.*;

public class DocumentIndexing {
    public static void main(String[] args) {
        Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments");
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

L’exécution de ce programme doit afficher le message de confirmation, indiquant que le dossier d’index est prêt.

Comment ajouter des documents à l’index

Étape 1 : Créer un dossier d’index

Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true);
  • Le premier argument est le dossier où les fichiers d’index seront stockés.
  • Le deuxième argument (true) indique à GroupDocs de créer le dossier s’il n’existe pas et de mettre à jour automatiquement un index existant.

Étape 2 : Charger un document depuis un flux et l’ajouter

String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx";
DocumentLoader documentLoader = new DocumentLoader(filePath);
Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader);
Document[] documents = new Document[]{document};
index.add(documents, new IndexingOptions());
  • DocumentLoader (défini plus tard) lit le fichier et fournit une clé unique.
  • createLazy garantit que les gros fichiers sont traités efficacement, en chargeant le contenu uniquement lorsque nécessaire.

Comment charger des documents depuis le système de fichiers

Voici un chargeur réutilisable qui lit n’importe quel fichier du disque, extrait ses octets et construit un objet Document prêt à être indexé.

class DocumentLoader {
    private final String filePath;
    private final String documentKey;

    public DocumentLoader(String filePath) {
        this.filePath = filePath;
        documentKey = FilenameUtils.getName(filePath);
    }

    public String getDocumentKey() { return documentKey; }

    public Document loadDocument() throws IOException {
        Path path = Paths.get(filePath);
        byte[] buffer = Files.readAllBytes(path);
        ByteArrayInputStream stream = new ByteArrayInputStream(buffer);
        return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream);
    }
}

Pourquoi c’est important : Utiliser un chargeur dédié isole les préoccupations du système de fichiers de la logique d’indexation, rendant votre code plus propre et plus facile à tester.

Comment effectuer une recherche par mot‑clé dans un index

String query = "moment";
SearchResult searchResult1 = index.search(query);
  • Passez n’importe quelle chaîne de texte à search et recevez un SearchResult contenant les IDs de documents correspondants, des extraits et des scores de pertinence.

Comment supprimer des documents de l’index

String[] documentKeys = new String[]{documentLoader.getDocumentKey()};
DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys);
  • Fournissez les clés des documents que vous souhaitez supprimer.
  • UpdateOptions vous permet de contrôler la façon dont la suppression est appliquée (par ex., immédiate vs. par lots).

Comment récupérer les documents indexés après des suppressions

DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments();
  • Cet appel renvoie la liste actuelle des documents encore présents dans l’index, vous aidant à vérifier que les suppressions ont réussi.

Applications pratiques

GroupDocs.Search for Java excelle dans les scénarios tels que :

  1. Portails de documents d’entreprise – les employés trouvent les politiques, contrats ou manuels en quelques secondes.
  2. Gestion de dossiers juridiques – les avocats trouvent rapidement les clauses de référence parmi des milliers de PDF et de fichiers Word.
  3. Bibliothèques numériques – les universités offrent une recherche en texte intégral sur les articles de recherche et les thèses.

Considérations de performance

  • Optimisez régulièrement l’index (index.optimize()) après des mises à jour massives pour maintenir une vitesse de requête élevée.
  • Profitez du chargement paresseux pour les gros fichiers afin d’éviter les erreurs OutOfMemory.
  • Ajustez le tas JVM en fonction de la distribution des tailles de documents ; une configuration typique utilise -Xmx2g pour des charges de travail de taille moyenne.

Problèmes courants et solutions

ProblèmeCauseSolution
Aucun résultat retournéTermes de requête non indexés ou mots‑vides filtrésVérifiez IndexingOptions et ajustez la liste des mots‑vides
Erreurs de mémoire insuffisanteFichiers volumineux chargés de manière anticipéePassez à Document.createLazy ou augmentez le tas JVM
Les documents supprimés apparaissent toujoursIndex non rafraîchi après la suppressionAppelez index.optimize() ou rouvrez l’instance d’index

Questions fréquentes

Q : Puis‑je indexer les PDF, DOCX et PPTX ensemble ?
R : Oui, GroupDocs.Search prend en charge un large éventail de formats dès l’installation.

Q : Comment la fonction “delete documents from index” fonctionne‑t‑elle en interne ?
R : La méthode delete supprime les postings pour les clés de document spécifiées et met à jour les structures internes, de sorte que l’index reste cohérent sans reconstruction complète.

Q : Existe‑t‑il un moyen de surveiller la taille de l’index ?
R : Utilisez index.getStatistics() pour obtenir le nombre de documents, la taille totale et d’autres métriques utiles.

Q : Dois‑je reconstruire l’ensemble de l’index après chaque suppression ?
R : Non. Les suppressions sont incrémentales ; seules les entrées concernées sont retirées.

Q : Que faire si je dois ré‑indexer tous les fichiers après un changement de schéma ?
R : Créez une nouvelle instance Index pointant vers un dossier différent et ajoutez à nouveau tous les documents.

Conclusion

Vous disposez maintenant d’une feuille de route complète pour how to index java documents en utilisant GroupDocs.Search for Java — de la configuration de l’environnement, à l’ajout de documents à l’index, leur chargement depuis le système de fichiers, l’exécution de recherches, jusqu’à la suppression et la vérification du contenu de l’index. En intégrant ces étapes dans votre application, vous améliorerez considérablement la découvrabilité des documents et la productivité globale.

Prochaines étapes :

  • Expérimentez avec des requêtes complexes (joker, correspondance floue).
  • Explorez les fonctionnalités avancées telles que la recherche à facettes, les analyseurs personnalisés et l’indexation des métadonnées.

Bonne indexation !


Dernière mise à jour : 2026-03-01
Testé avec : GroupDocs.Search Java 25.4
Auteur : GroupDocs