Hur man filtrerar filer med GroupDocs.Redaction för .NET
I dagens snabbrörliga digitala miljö kan hur man filtrerar filer effektivt vara avgörande för din produktivitet. Oavsett om du behöver isolera dokument efter filändelse, skapelsedatum, storlek eller ändringsdatum, sparar en solid filtreringsstrategi tid, minskar lagringskostnader och håller ditt sökindex prydligt. I den här handledningen går vi igenom verkliga exempel med GroupDocs.Redaction för .NET och visar exakt hur du filtrerar filer för att möta vanliga affärsbehov.
Snabba svar
- Vilket bibliotek behöver jag? GroupDocs.Redaction för .NET (installera via NuGet).
- Kan jag filtrera efter skapelsedatum? Ja – använd
CreateCreationTimeRange. - Hur exkluderar jag vissa typer? Använd ett NOT-filter med
DocumentFilter.CreateNot. - Stöds filtrering efter filstorlek? Absolut, via
CreateFileLengthRangeeller övre/nedre gränser. - Behöver jag en licens? En prov- eller fullständig licens krävs för produktionsanvändning.
Vad är filtrering av filer med GroupDocs.Redaction?
Filtrering av filer låter dig ange för indexeringsmotorn vilka dokument som ska inkluderas eller ignoreras baserat på metadata såsom filändelse, datum, sökvägsmönster eller storlek. Genom att definiera precisa DocumentFilter-regler håller du ditt index slimmat och dina sökningar snabba.
Varför använda GroupDocs.Redaction för .NET?
- Inbyggda filterhjälpmedel – ingen anledning att skriva anpassad filsystemkod.
- Logiska operatorer – kombinera flera kriterier med AND, OR och NOT.
- Prestandaoptimerade – filter tillämpas under indexering, inte efter.
- Plattformsoberoende – fungerar med .NET Framework, .NET Core och .NET 5/6+.
Förutsättningar
- .NET Framework 4.6+ eller .NET Core 3.1+ installerat.
- Visual Studio eller din föredragna C#-IDE.
- Grundläggande kunskaper i C#.
Nödvändiga bibliotek och installation
Installera NuGet-paketet med din föredragna metod:
dotnet add package GroupDocs.Redaction
Install-Package GroupDocs.Redaction
Proffstips: Efter installationen, lägg till din licensfil i projektets rot och anropa
License.SetLicense("license-file-path")innan du skapar några Redactor- eller Index-objekt.
Konfigurera GroupDocs.Redaction för .NET
Först, skapa en Redactor-instans som pekar på det dokument du vill arbeta med:
using GroupDocs.Redaction;
// Initialize Redactor with the path to your document.
Redactor redactor = new Redactor("your-document-path");
Varför detta är viktigt: Initiering av Redactor garanterar att biblioteket är redo att tillämpa filter och redigeringsregler senare i arbetsflödet.
Hur man filtrerar filer efter filändelse
Filtrering efter filändelse är det vanligaste sättet att begränsa en dokumentuppsättning. Nedan behåller vi endast FB2-, EPUB- och TXT-filer.
Filtrera efter filändelse
using GroupDocs.Search;
using GroupDocs.Search.Options;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
// Allow only FB2, EPUB, and TXT files.
DocumentFilter filter = DocumentFilter.CreateFileExtension(".fb2", ".epub", ".txt");
settings.DocumentFilter = filter;
// Create an index with applied filters.
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man använder NOT-filter för att exkludera oönskade typer
Om du behöver tillämpa NOT-filter‑logik—t.ex. exkludera HTML- och PDF-filer—använd CreateNot.
Exkludera HTM-, HTML- och PDF-filer
using GroupDocs.Search;
using GroupDocs.Search.Options;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter excludeFilter = DocumentFilter.CreateFileExtension(".htm", ".html", ".pdf");
DocumentFilter invertedFilter = DocumentFilter.CreateNot(excludeFilter);
settings.DocumentFilter = invertedFilter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man filtrerar filer efter skapelsedatum
När du behöver filtrera efter skapelsedatum, ange ett start- och slut-DateTime.
Filtrera efter intervall för skapelsedatum
using GroupDocs.Search;
using GroupDocs.Search.Options;
using System;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateCreationTimeRange(new DateTime(2017, 1, 1), new DateTime(2018, 6, 15));
settings.DocumentFilter = filter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man filtrerar filer efter ändringsdatum
På liknande sätt som med skapelsedatum kan du begränsa resultaten till filer som ändrats före en viss tidpunkt.
Filtrera efter ändringsdatum
using GroupDocs.Search;
using GroupDocs.Search.Options;
using System;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateModificationTimeUpperBound(new DateTime(2018, 6, 15));
settings.DocumentFilter = filter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man filtrerar filer efter sökväg med reguljära uttryck
Om din mappstruktur följer namngivningskonventioner kan ett regex rikta in sig på specifika sökvägar.
Filtrera efter mönster för filsökväg
using GroupDocs.Search;
using GroupDocs.Search.Options;
using System.Text.RegularExpressions;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateFilePathRegularExpression("Ipsum", RegexOptions.IgnoreCase);
settings.DocumentFilter = filter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man filtrerar filer efter storlek
Att kontrollera dokumentstorlek är viktigt när du hanterar bandbredds- eller lagringsgränser.
Filtrera efter filstorlek (50 KB – 100 KB)
using GroupDocs.Search;
using GroupDocs.Search.Options;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateFileLengthRange(50 * 1024, 100 * 1024);
settings.DocumentFilter = filter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man kombinerar flera villkor med AND
När du behöver filtrera filer med flera kriterier samtidigt, kombinera dem med CreateAnd.
Exempel på logisk AND
using GroupDocs.Search;
using GroupDocs.Search.Options;
using System;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter filter1 = DocumentFilter.CreateCreationTimeRange(new DateTime(2015, 1, 1), new DateTime(2016, 1, 1));
DocumentFilter filter2 = DocumentFilter.CreateFileExtension(".txt");
DocumentFilter filter3 = DocumentFilter.CreateFileLengthUpperBound(8 * 1024 * 1024);
DocumentFilter finalFilter = DocumentFilter.CreateAnd(filter1, filter2, filter3);
settings.DocumentFilter = finalFilter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Hur man kombinerar flera villkor med OR
Använd CreateOr när någon av flera regler ska godkännas.
Exempel på logisk OR
using GroupDocs.Search;
using GroupDocs.Search.Options;
string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";
IndexSettings settings = new IndexSettings();
DocumentFilter txtFilter = DocumentFilter.CreateFileExtension(".txt");
DocumentFilter notTxtFilter = DocumentFilter.CreateNot(txtFilter);
DocumentFilter bound5Filter = DocumentFilter.CreateFileLengthUpperBound(5 * 1024 * 1024);
DocumentFilter bound10Filter = DocumentFilter.CreateFileLengthUpperBound(10 * 1024 * 1024);
DocumentFilter txtSizeFilter = DocumentFilter.CreateOr(txtFilter, notTxtFilter, bound5Filter, bound10Filter);
settings.DocumentFilter = txtSizeFilter;
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);
Vanliga problem och lösningar
- Filtret tillämpas inte: Se till att du tilldelar
settings.DocumentFilterinnan du skaparIndex-instansen. - Oväntade filer dyker upp: Dubbelkolla att filändelserna inkluderar den inledande punkten (
.txt). - Prestandaförsämring: Kombinera filter med AND för att minska antalet filer som skannas tidigt i indexeringsprocessen.
- Regex‑fel: Escape specialtecken i ditt sökvägsmönster eller använd
RegexOptions.IgnoreCaseför skiftlägesokänsliga matchningar.
Vanliga frågor
Q: Kan jag kombinera ett NOT-filter med ett AND-filter?
A: Ja. Bygg NOT-filtret först (DocumentFilter.CreateNot) och inkludera det sedan som ett av argumenten till DocumentFilter.CreateAnd.
Q: Hur filtrerar jag filer som är större än 10 MB?
A: Använd DocumentFilter.CreateFileLengthLowerBound(10 * 1024 * 1024) för att endast inkludera filer som överstiger den storleken.
Q: Är det möjligt att filtrera både efter skapelse- och ändringsdatum samtidigt?
A: Absolut. Skapa varje filter separat och kombinera dem med CreateAnd.
Q: Fungerar dessa filter med molnlagringsvägar?
A: Filtren fungerar på det lokala filsystemet. För molnkällor, ladda ner filer till en temporär mapp först, och tillämpa sedan samma filter.
Q: Kommer ändring av filtret att kräva omindexering?
A: Ja. Filtren utvärderas när du anropar index.Add. Att ändra ett filter innebär att du måste bygga om indexet för att återspegla de nya kriterierna.
Slutsats
Genom att behärska hur man filtrerar filer med GroupDocs.Redaction för .NET—oavsett om det är efter filändelse, skapelsedatum, ändringsdatum, filstorlek eller med NOT‑logik—kan du effektivisera dokumenthantering, hålla index presterande och fokusera på det innehåll som verkligen betyder något. Experimentera med de logiska operatorerna för att anpassa filtreringen efter dina exakta affärsregler, så kommer du att se omedelbara förbättringar i hastighet och lagringseffektivitet.
Senast uppdaterad: 2026-04-21
Testat med: GroupDocs.Redaction 24.11 för .NET
Författare: GroupDocs