text.

Also keep markdown lists.

Let’s craft final answer.# Maîtriser le filtre d’extension de fichier java avec GroupDocs.Search

Gérer un dépôt croissant de documents peut rapidement devenir écrasant, surtout lorsque vous devez indexer uniquement certains types de fichiers. Le filtre d’extension de fichier java vous permet d’indiquer à GroupDocs.Search exactement quelles extensions inclure ou exclure, vous offrant un contrôle précis sur votre pipeline d’indexation. Dans ce guide, nous passerons en revue la configuration de GroupDocs.Search pour Java et vous montrerons comment combiner le filtrage d’extension de fichier avec les opérateurs logiques AND, OR et NOT, ainsi qu’avec les filtres de plage de dates et de chemins.

Réponses rapides

  • Qu’est‑ce que le filtre d’extension de fichier java ? Une configuration qui indique à GroupDocs.Search quelles extensions de fichier inclure ou exclure lors de l’indexation.
  • Quelle bibliothèque fournit cette fonctionnalité ? GroupDocs.Search pour Java.
  • Ai‑je besoin d’une licence ? Un essai gratuit suffit pour l’évaluation ; une licence complète est requise pour la production.
  • Puis‑je combiner les filtres ? Oui – vous pouvez chaîner les filtres d’extension, de date, de taille et de chemin avec la logique AND, OR, NOT.
  • Est‑il compatible Maven ? Absolument – ajoutez la dépendance GroupDocs.Search à votre pom.xml.

Qu’est‑ce qu’un filtre d’extension de fichier java ?

Un filtre d’extension de fichier java est un ensemble de règles qui évalue l’extension de chaque fichier avant qu’il ne soit envoyé au moteur d’indexation. En spécifiant des extensions comme .txt, .pdf ou .epub, vous pouvez inclure des fichiers par extension ou exclure des fichiers par extension afin de garder votre index ciblé et vos résultats de recherche pertinents.

Pourquoi utiliser le filtrage d’extension de fichier avec GroupDocs.Search ?

  • Performance : Ignorer les fichiers indésirables réduit les E/S et accélère l’indexation.
  • Économies de stockage : Seuls les documents pertinents sont stockés dans l’index, ce qui diminue l’utilisation du disque.
  • Conformité : Empêche l’indexation accidentelle de types de fichiers confidentiels ou non pris en charge.
  • Flexibilité : Combinez avec les fonctionnalités date range filter java pour cibler les fichiers créés ou modifiés pendant des périodes spécifiques.

Prérequis

Avant de commencer, assurez‑vous de disposer de ce qui suit :

Bibliothèques et dépendances requises

  • GroupDocs.Search pour Java : version 25.4 ou ultérieure
  • Java Development Kit (JDK) : version compatible installée

Configuration de l’environnement

  • Environnement de développement intégré (IDE) : IntelliJ IDEA, Eclipse ou tout IDE compatible Maven.

Prérequis de connaissances

  • Programmation Java de base
  • Familiarité avec les I/O de fichiers en Java
  • Compréhension des expressions régulières et de la gestion des dates‑heures

Configuration de GroupDocs.Search pour Java

Pour commencer à utiliser GroupDocs.Search, vous devez l’ajouter comme dépendance à votre projet.

Configuration Maven

Ajoutez le dépôt et la configuration de dépendance suivants à votre fichier 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>

Téléchargement direct

Vous pouvez également télécharger la dernière version directement depuis GroupDocs.Search for Java releases.

Acquisition de licence

  1. Essai gratuit – explorez les fonctionnalités sans frais.
  2. Licence temporaire – obtenez toutes les fonctionnalités pendant une période limitée.
  3. Achat – obtenez une licence permanente pour la production.

Initialisation et configuration de base

Une fois la bibliothèque ajoutée, initialisez votre environnement d’indexation :

import com.groupdocs.search.*;

String indexFolder = "YOUR_OUTPUT_DIRECTORY";
Index index = new Index(indexFolder);

Guide d’implémentation

Nous détaillons ci‑dessous chaque type de filtre, en expliquant pourquoi c’est important et en fournissant du code pas à pas que vous pouvez copier dans votre projet.

Filtrage par extension de fichier

Filtrez les fichiers selon leurs extensions lors de l’indexation. Idéal lorsque vous ne souhaitez traiter que les livres électroniques (.fb2, .epub) et les fichiers texte simples (.txt).

Vue d’ensemble

Utilisez DocumentFilter.createFileExtension pour créer une liste blanche d’extensions.

Étapes d’implémentation

  1. Créer le filtre :

    DocumentFilter filter = DocumentFilter.createFileExtension(".fb2", ".epub", ".txt");
    IndexSettings settings = new IndexSettings();
    settings.setDocumentFilter(filter);
    
  2. Initialiser l’index et ajouter les documents :

    Index index = new Index("YOUR_OUTPUT_DIRECTORY\\FileExtensionFilter", settings);
    index.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtre logique NOT

Excluez des extensions spécifiques, comme les pages web et les PDF, lorsqu’elles ne sont pas nécessaires à votre scénario de recherche.

Étapes d’implémentation

  1. Créer le filtre d’exclusion :

    DocumentFilter filterNot = DocumentFilter.createFileExtension(".htm", ".html", ".pdf");
    DocumentFilter invertedFilter = DocumentFilter.createNot(filterNot);
    
  2. Appliquer aux paramètres d’index :

    IndexSettings settingsNot = new IndexSettings();
    settingsNot.setDocumentFilter(invertedFilter);
    
  3. Ajouter les documents :

    Index indexNot = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalNotFilter", settingsNot);
    indexNot.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtre logique AND

Combinez plusieurs conditions — date de création, extension et taille de fichier—de sorte que seuls les fichiers répondant à tous les critères soient indexés.

Vue d’ensemble

DocumentFilter.createAnd fusionne plusieurs filtres en une règle unique.

Étapes d’implémentation

  1. Définir les filtres :

    DocumentFilter filter1 = DocumentFilter.createCreationTimeRange(Utils.createDate(2015, 1, 1), Utils.createDate(2016, 1, 1));
    DocumentFilter filter2 = DocumentFilter.createFileExtension(".txt");
    DocumentFilter filter3 = DocumentFilter.createFileLengthUpperBound(8 * 1024 * 1024);
    
  2. Combiner les filtres :

    DocumentFilter finalFilterAnd = DocumentFilter.createAnd(filter1, filter2, filter3);
    IndexSettings settingsAnd = new IndexSettings();
    settingsAnd.setDocumentFilter(finalFilterAnd);
    
  3. Indexer les documents :

    Index indexAnd = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalAndFilter", settingsAnd);
    indexAnd.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtre logique OR

Incluez les fichiers qui satisfont l’une des conditions spécifiées — utile lorsque vous voulez capturer à la fois de petits fichiers texte et des fichiers non texte plus volumineux.

Étapes d’implémentation

  1. Définir les filtres :

    DocumentFilter txtFilter = DocumentFilter.createFileExtension(".txt");
    DocumentFilter notTxtFilter = DocumentFilter.createNot(txtFilter);
    
  2. Combiner les filtres avec des conditions logiques :

    DocumentFilter bound5Filter = DocumentFilter.createFileLengthUpperBound(5 * 1024 * 1024);
    DocumentFilter bound10Filter = DocumentFilter.createFileLengthUpperBound(10 * 1024 * 1024);
    
    DocumentFilter txtSizeFilter = DocumentFilter.createAnd(txtFilter, bound5Filter);
    DocumentFilter notTxtSizeFilter = DocumentFilter.createAnd(notTxtFilter, bound10Filter);
    
  3. Finaliser le filtre OR :

    DocumentFilter finalFilterOr = DocumentFilter.createOr(txtSizeFilter, notTxtSizeFilter);
    
    IndexSettings settingsOr = new IndexSettings();
    settingsOr.setDocumentFilter(finalFilterOr);
    Index indexOr = new Index("YOUR_OUTPUT_DIRECTORY\\LogicalOrFilter", settingsOr);
    indexOr.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtres de temps de création

Ciblez les fichiers créés pendant une période précise — un scénario classique de date range filter java.

Étapes d’implémentation

  1. Définir le filtre de plage de dates :

    DocumentFilter filter3CTime = DocumentFilter.createCreationTimeRange(Utils.createDate(2017, 1, 1), Utils.createDate(2018, 6, 15));
    IndexSettings settingsCTime = new IndexSettings();
    settingsCTime.setDocumentFilter(filter3CTime);
    
  2. Indexer les documents :

    Index indexCTime = new Index("YOUR_OUTPUT_DIRECTORY\\CreationTimeFilters", settingsCTime);
    indexCTime.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtres de temps de modification

Excluez les fichiers qui ont été modifiés après une date de coupure donnée.

Étapes d’implémentation

  1. Définir le filtre :

    DocumentFilter filter2MTime = DocumentFilter.createModificationTimeUpperBound(Utils.createDate(2018, 6, 15));
    IndexSettings settingsMTime = new IndexSettings();
    settingsMTime.setDocumentFilter(filter2MTime);
    
  2. Indexer les documents :

    Index indexMTime = new Index("YOUR_OUTPUT_DIRECTORY\\ModificationTimeFilters", settingsMTime);
    indexMTime.add("YOUR_DOCUMENT_DIRECTORY");
    

Filtrage par chemin de fichier

Limitez l’indexation aux fichiers situés dans des dossiers particuliers ou correspondant à un motif — idéal pour include files by extension au sein d’une hiérarchie de répertoires spécifique.

Étapes d’implémentation

  1. Définir le filtre de chemin de fichier :

    DocumentFilter pathFilter = DocumentFilter.createPath("*.txt", "documents/");
    IndexSettings settingsPath = new IndexSettings();
    settingsPath.setDocumentFilter(pathFilter);
    
  2. Initialiser l’index et ajouter les documents :

    Index indexPath = new Index("YOUR_OUTPUT_DIRECTORY\\FilePathFilter", settingsPath);
    indexPath.add("YOUR_DOCUMENT_DIRECTORY");
    

Pièges courants & conseils

  • Ne jamais mélanger les chemins absolus et relatifs dans la même configuration de filtre – cela peut entraîner des exclusions inattendues.
  • Réinitialisez les IndexSettings lors du changement de jeu de filtres ; sinon les filtres précédents peuvent persister.
  • Combinez une borne supérieure de longueur avec un filtre d’extension pour les grandes collections afin de limiter l’utilisation de la mémoire.
  • Activez la journalisation (LoggingOptions.setEnabled(true)) pour voir pourquoi un fichier a été rejeté.

Questions fréquentes

Q : Puis‑je modifier les critères de filtrage après la création de l’index ?
R : Oui. Reconstruisez l’index avec un nouveau DocumentFilter ou utilisez l’indexation incrémentielle avec des paramètres mis à jour.

Q : Le filtre d’extension de fichier java fonctionne‑t‑il sur les archives compressées (ex. ZIP) ?
R : GroupDocs.Search peut indexer les formats d’archives pris en charge, mais le filtre d’extension s’applique à l’archive elle‑même, pas aux fichiers internes. Utilisez des filtres imbriqués pour un contrôle plus fin.

Q : Comment déboguer la raison pour laquelle un fichier particulier a été exclu ?
R : Activez la journalisation de la bibliothèque (LoggingOptions.setEnabled(true)) et examinez le journal — il indique quel filtre a rejeté chaque fichier.

Q : Est‑il possible de combiner le filtre d’extension de fichier java avec des filtres regex personnalisés ?
R : Absolument. Enveloppez un filtre regex dans DocumentFilter.createAnd() aux côtés du filtre d’extension.

Q : Quel impact sur les performances l’ajout de nombreux filtres a‑t‑il ?
R : Chaque filtre ajoute une légère surcharge pendant l’indexation, mais la réduction des données indexées compense généralement ce coût. Testez avec un échantillon représentatif pour trouver le bon équilibre.


Dernière mise à jour : 2026-02-21
Testé avec : GroupDocs.Search 25.4 pour Java
Auteur : GroupDocs