Maîtriser GroupDocs Redaction et Search en .NET : Gestion efficace des documents et recherche sécurisée
La gestion de grandes collections de documents peut rapidement devenir écrasante, surtout lorsque vous devez create search index .NET des solutions qui protègent également les informations sensibles. Que vous construisiez une archive juridique, un système de dossiers médicaux ou un catalogue e‑commerce, la combinaison de GroupDocs.Redaction et GroupDocs.Search for .NET vous fournit les outils pour indexer, rechercher et masquer le contenu de manière sûre et efficace.
Réponses rapides
- What does “create search index .NET” mean? Cela signifie créer une structure de données interrogeable sur le disque qui permet à votre application .NET de localiser rapidement les documents.
- Which library handles redaction? GroupDocs.Redaction supprime ou masque les données sensibles des documents.
- How do I add documents to index? Utilisez
index.Add(yourFolderPath)pour ingérer les fichiers automatiquement. - Do I need to escape special characters in queries? Oui — échappez les caractères comme
&,|,(,)pour éviter les erreurs d’analyse. - Is this approach suitable for large datasets? Absolument ; l’index peut évoluer et être mis à jour de façon incrémentielle.
Qu’est‑ce que « create search index .NET » ?
Créer un index de recherche en .NET signifie construire une structure persistante qui associe les termes aux documents dans lesquels ils apparaissent. Cet index permet des recherches en texte intégral rapides sans analyser chaque fichier à chaque exécution de requête.
Pourquoi combiner GroupDocs.Search avec GroupDocs.Redaction ?
- Security first: Masquez les données personnelles avant d’exposer les résultats de recherche.
- Performance: Les index de recherche sont optimisés pour la vitesse, tandis que la rédaction s’applique aux fichiers originaux uniquement lorsque nécessaire.
- Flexibility: Les deux bibliothèques prennent en charge de nombreux formats de fichiers (PDF, DOCX, images, etc.) dès le départ.
Prérequis
- GroupDocs.Search version 21.8+
- GroupDocs.Redaction pour .NET (version compatible)
- .NET Core SDK 3.1 ou ultérieur
- Un dossier contenant les documents que vous souhaitez indexer
Configuration de GroupDocs.Redaction pour .NET
Installation
dotnet add package GroupDocs.Redaction
Install-Package GroupDocs.Redaction
Acquisition de licence
- Free Trial – tester les fonctionnalités de base.
- Temporary License – prolonger les limites de l’essai.
- Full License – débloquer les capacités prêtes pour la production.
Initialisation de base
using GroupDocs.Redaction;
// Initialize Redactor with the file path of the document
Redactor redactor = new Redactor("path/to/document.pdf");
Comment créer un index de recherche .NET
Voici un guide étape par étape qui montre exactement comment create search index .NET des projets, configurer la gestion des caractères spéciaux et préparer les requêtes.
Étape 1 : Créer un index
using GroupDocs.Search;
string indexFolder = @"YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Searching/SearchForSpecialCharacters";
// Create an index at the specified path. The second parameter 'true' allows overwriting existing indexes.
Index index = new Index(indexFolder, true);
Cette ligne crée le dossier d’index physique et le prépare à l’ingestion de documents.
Étape 2 : Configurer les types de caractères
// Configure character types for '&' as a letter and '-' as a separator within the alphabet dictionary of the index.
index.Dictionaries.Alphabet.SetRange(new char[] { '&' }, CharacterType.Letter);
index.Dictionaries.Alphabet.SetRange(new char[] { '-' }, CharacterType.Separator);
Personnaliser la gestion des caractères garantit que des requêtes comme « rock&roll‑music » sont interprétées correctement.
Étape 3 : Ajouter des documents à l’index
string documentsFolder = @"YOUR_DOCUMENT_DIRECTORY";
// Add documents from the specified directory to the index.
index.Add(documentsFolder);
Ici nous add documents to index en masse, rendant chaque fichier pris en charge interrogeable.
Étape 4 : Définir et échapper les caractères spéciaux dans la requête
using System.Text;
string word = "rock&roll-music";
StringBuilder result = new StringBuilder();
// Replace separators with space characters in the query string.
for (int i = 0; i < word.Length; i++)
{
char character = word[i];
CharacterType characterType = index.Dictionaries.Alphabet.GetCharacterType(character);
if (characterType == CharacterType.Separator)
{
result.Append(' ');
}
else
{
result.Append(character);
}
}
// Escape special characters.
const string specialCharacters = "():\"&|!^~*?\\";
for (int i = result.Length - 1; i >= 0; i--)
{
char c = result[i];
if (specialCharacters.Contains(c.ToString()))
{
result.Insert(i, '\\');
}
}
string query = result.ToString();
if (query.Contains(" "))
{
query = "\"" + query + "\"";
}
Ce bloc escape special characters query assure que le moteur de recherche analyse correctement l’entrée.
Étape 5 : Exécuter la requête de recherche
// Perform the search using the prepared query string.
SearchResult searchResult = index.Search(query);
L’objet SearchResult contient désormais tous les documents correspondants, prêts pour un traitement ou un affichage supplémentaire.
Applications pratiques
- Legal Document Management – localiser les clauses dans des milliers de contrats tout en masquant les données personnelles.
- Medical Records Search – trouver rapidement les notes des patients, puis masquer les PHI avant de les partager.
- E‑commerce Catalogs – permettre des recherches de produits robustes avec une tokenisation personnalisée pour les codes SKU et les noms de marque.
Considérations de performance
- Index Refresh: Réexécutez
index.Add()ou utilisez des mises à jour incrémentielles lorsque les fichiers changent. - Memory Management: Libérez les objets
Indexune fois terminés, surtout dans les services à forte charge. - Async Operations: Enveloppez les appels de recherche dans
Task.Runpour des réponses UI ou API non bloquantes.
Problèmes courants et solutions
| Problème | Solution |
|---|---|
Les requêtes ne renvoient aucun résultat pour les termes contenant & ou - | Assurez‑vous que les types de caractères sont configurés comme indiqué dans Step 2. |
| Les gros PDFs provoquent une utilisation élevée de la mémoire | Activez le mode streaming (index.Options.UseStreaming = true) et traitez les résultats par lots. |
| La rédaction ne s’applique pas aux extraits recherchés | Masquez d’abord le fichier original, puis reconstruisez l’index pour refléter le contenu nettoyé. |
Questions fréquemment posées
Q : Comment personnaliser la gestion des caractères dans mon index de recherche ?
R : Utilisez index.Dictionaries.Alphabet.SetRange() pour marquer les caractères comme lettres, séparateurs ou ponctuation.
Q : Puis‑je indexer plusieurs formats de documents ?
R : Oui—GroupDocs.Search prend en charge les PDFs, Word, Excel, PowerPoint, images, et bien d’autres.
Q : Comment gérer les caractères spéciaux dans les requêtes de recherche ?
R : Suivez l’étape Define and Escape Special Characters in Query pour remplacer les séparateurs par des espaces et préfixer les symboles réservés d’une barre oblique inverse (\).
Q : La rédaction est‑elle effectuée automatiquement lors d’une recherche ?
R : La rédaction est une étape distincte ; vous pouvez d’abord masquer les documents puis reconstruire l’index, ou masquer les résultats après récupération.
Q : À quelle fréquence dois‑je reconstruire ou mettre à jour mon index ?
R : Mettez à jour l’index chaque fois que les fichiers source changent ; une reconstruction incrémentielle nocturne convient à la plupart des environnements.
Conclusion
Vous disposez maintenant d’un guide complet, prêt pour la production, pour les projets create search index .NET qui intègrent de puissantes capacités de rédaction. En configurant la gestion des caractères, en échappant correctement les chaînes de requête et en mettant régulièrement à jour votre index, vous offrirez des expériences de recherche rapides et sécurisées pour toute application intensive en documents.
Dernière mise à jour : 2026-04-05
Testé avec : GroupDocs.Search 21.8+, GroupDocs.Redaction dernière version
Auteur : GroupDocs