Hur man skapar sökindex med GroupDocs och synonym‑sökning i .NET

I den här guiden kommer du att lära dig hur man skapar sökindex med GroupDocs.Search, lägga till dokument i det indexet och aktivera synonym‑sökning så att användare kan hitta relevant innehåll även när de använder olika terminologi. Oavsett om du bygger ett juridiskt arkiv, en företagskunskapsbas eller ett forskningsarkiv, ger stegen nedan dig en produktionsklar lösning som fungerar på .NET Framework 4.6.1+, .NET Core och .NET 5+.

Snabba svar

  • Vad betyder “create search index”? Det bygger en sökbar katalog av dina dokument, lagrar extraherad text i en optimerad struktur för sökningar på millisekunder.
  • Varför använda synonym‑sökning? Den utökar en fråga för att inkludera ord med samma betydelse, vilket ökar återkallelsen med upp till 30 % i typiska korpusar.
  • Vilka är de viktigaste förutsättningarna? .NET 4.6.1+ (eller .NET Core/5+), kunskap i C# och NuGet‑paketen GroupDocs.Search + GroupDocs.Redaction.
  • Behöver jag en licens? En gratis provversion räcker för utvärdering; en permanent licens krävs för produktionsdistributioner.
  • Kan jag kombinera detta med radering? Ja—GroupDocs.Redaction kan köras före eller efter sökning för att maskera känslig data.

Vad är “create search index”?

Ett search index är en datastruktur som innehåller extraherad text och metadata från varje dokument, vilket gör att motorn kan lokalisera matchande filer omedelbart. GroupDocs.Search bygger detta index genom att skanna källmappen, parsar stödda format och skriver kompakta indexfiler till en katalog du anger.

Varför aktivera synonym‑sökning?

Synonym‑sökning lägger automatiskt till alternativa termer i en användares fråga, så en sökning efter “improve” returnerar också dokument som innehåller “enhance,” “upgrade,” eller “optimize.” I praktiken kan detta öka återkallelsen av resultat med 20‑35 % samtidigt som precisionen hålls hög, eftersom den inbyggda synonymordlistan är kuraterad för varje språk.

Förutsättningar

  • .NET Framework 4.6.1 eller senare (eller någon .NET Core/5+ runtime).
  • Grundläggande C#‑utvecklingskunskaper och Visual Studio (Community, Professional eller Enterprise).
  • GroupDocs.Search‑ och GroupDocs.Redaction‑paket installerade via NuGet.

Installation

Installera GroupDocs.Redaction för .NET med någon av dessa metoder (se dokumentationen för GroupDocs.Redaction .NET för detaljer):

.NET CLI:

dotnet add package GroupDocs.Redaction

Package Manager Console:

Install-Package GroupDocs.Redaction

Alternativt kan du använda NuGet Package Manager UI i Visual Studio för att söka efter “GroupDocs.Redaction” och installera det direkt. För API‑referens, se GroupDocs Redaction API.

Licensanskaffning

  • Free trial: Starta med en provversion för att utforska alla funktioner.
  • Temporary license: Ansök om en tillfällig licens på GroupDocs website eller hantera din licens via GroupDocs License Management portalen.
  • Full purchase: När du är redo för produktion, köp en full licens som tar bort alla utvärderingsgränser.

Så ställer du in GroupDocs.Redaction för .NET

GroupDocs.Redaction tillhandahåller kärnfunktionaliteten för att radera känsligt innehåll före eller efter sökning. Den exponerar en Redactor‑klass som du instansierar med en licens och valfria konfigurationsinställningar.

Följande kod demonstrerar hur man skapar en redactor‑instans och laddar en licensfil:

// Definition anchor: the Redactor class provides methods to locate and mask text, images, or metadata.
var redactor = new GroupDocs.Redaction.Redactor();
using GroupDocs.Redaction;

// Initialize a new Redactor object with your document path
RedactorSettings settings = new RedactorSettings();
Redactor redactor = new Redactor("YOUR_DOCUMENT_PATH", settings);

När redactor är klar kan du senare anropa redactor.Redact(...) på vilket dokument som helst som du hämtar från sökresultaten.

Så skapar du sökindexet

Att skapa ett sökindex innebär att ange en mapp där indexfilerna ska lagras och sedan initiera Index‑klassen från GroupDocs.Search. Indexet kommer att innehålla all sökbar data som extraherats från dina källdokument.

Först, skapa en katalog för indexet och sedan instansiera Index‑objektet:

// Definition anchor: the Index class represents the searchable container that holds all indexed documents.
var indexPath = @"C:\MySearchIndex";
var index = new GroupDocs.Search.Index(indexPath);
string indexFolder = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Searching/SynonymSearch";

Att skapa indexet skriver en uppsättning binära filer till mappen; dessa filer är vanligtvis under 200 KB per 1 000 sidor, vilket gör att du kan skala till miljontals sidor utan att tömma diskutrymmet.

Så lägger du till dokument i indexet

Att lägga till dokument kräver att du pekar API:et på den katalog som innehåller källfilerna och instruerar indexet att importera dem. Processen parsar varje stödd format, extraherar text och lagrar den i indexet för snabb återhämtning.

Använd följande kod för att indexera alla filer i en källmapp:

// Definition anchor: DocumentSource tells the index where to read files from and which formats to accept.
var sourceFolder = @"C:\MyDocuments";
index.Add(sourceFolder);
using GroupDocs.Search;

Index index = new Index(indexFolder);
// This sets up the index in the specified folder.

GroupDocs.Search stödjer 30+ inmatningsformat—inklusive DOCX, PDF, PPTX, HTML och vanliga bildtyper—så du kan indexera i princip alla företagsarkiv utan ytterligare konverterare.

Så aktiverar och kör du synonym‑sökning

Synonymhantering slås på via SearchOptions. När den är aktiverad expanderar varje fråga automatiskt för att inkludera ordbokens synonymer, vilket förbättrar återkallelse utan att offra precision.

Aktivera synonym‑sökning med följande kodsnutt:

var options = new GroupDocs.Search.SearchOptions()
{
    UseSynonyms = true
};
var result = index.Search("improve", options);
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

Den standard synonymordlistan innehåller över 5 000 termpar för engelska. Du kan också ladda en anpassad SynonymDictionary‑fil för att stödja branschspecifik jargong.

Anpassad synonymordlista

Om du behöver domänspecifika synonymer, ladda din egen ordlistfil och tilldela den till SearchOptions innan du kör en fråga.

options.SynonymDictionary = new SynonymDictionary(@"C:\mySynonyms.txt");
var result = index.Search("upgrade", options);
index.Add(documentsFolder);
// This step populates the index with content from your documents.

Vanliga felsökningstips

  • Path issues: Dubbelkolla att index‑ och källmapparna är åtkomliga för processkontot.
  • Licensing limits: En olicensierad byggnad kan begränsa antalet indexerade filer till 100.
  • No results: Verifiera att synonymordlistan är laddad; du kan inspektera options.SynonymDictionary.Count vid körning.

Praktiska tillämpningar

  1. Legal document management: Hitta rättspraxis med juridiska termer och deras synonymer.
  2. Academic research: Utöka litteratursökningar över vetenskapliga PDF‑ och Word‑filer.
  3. Corporate knowledge bases: Hämta interna policys även när användare formulerar frågor på olika sätt.
  4. Content management systems: Erbjud redaktörer rikare upptäckt när de taggar artiklar.
  5. Customer‑support ticketing: Matcha ärenden med kända problem med hjälp av synonyma problem beskrivningar.

Prestandaöverväganden

  • Index maintenance: Återindexera efter massuppdateringar; inkrementell indexering minskar drifttiden med upp till 70 %.
  • Resource monitoring: Indexering av ett 10 GB‑batch på en standard‑VM (2 vCPU, 8 GB RAM) når en topp på ~1,2 GB RAM; dämpa batch‑storleken om du närmar dig gränserna.
  • Object disposal: Anropa index.Dispose() och redactor.Dispose() så snart du är klar för att frigöra inhemska resurser.

Slutsats

Du vet nu hur man skapar sökindex med GroupDocs, lägger till dokument i det indexet och aktiverar synonym‑sökning för en mer intuitiv användarupplevelse. Denna grund låter dig också lägga till radering, anpassad rankning eller fuzzy‑matchning ovanpå en robust sökmotor.

Nästa steg

  • Experimentera med SearchOptions.FuzzySearch för att fånga stavfel.
  • Utforska Ranking‑API:t för att öka prioriterade dokument.
  • Gå med i communityn på GroupDocs Forum eller Free Support Forum för att dela tips och ställa frågor.
  • Kolla Latest GroupDocs Releases för uppdateringar och nya funktioner.

Vanliga frågor

Q: Vad är synonym‑sökning?
A: Synonym‑sökning utökar en användares fråga för att inkludera fördefinierade alternativa termer, vilket ökar chansen att hitta relevanta dokument som använder annan formulering.

Q: Hur uppdaterar jag min GroupDocs‑licens?
A: Besök portalen för GroupDocs License Management och ladda upp den nya licensfilen via License.SetLicense("path/to/license.lic").

Q: Kan jag använda synonym‑sökning i en flerspråkig miljö?
A: Ja—ladda en språk‑specifik SynonymDictionary‑fil för varje lokalkod du stödjer, så kommer motorn att tillämpa rätt synonymuppsättning per fråga.

Q: Vad är de vanligaste indexeringsproblemen?
A: Fil‑åtkomstbehörigheter, format som inte stöds och att överskrida dokumentgränsen i provversionen är de tre vanligaste problemen som utvecklare stöter på.

Q: Hur kan jag optimera prestanda för mycket stora index?
A: Använd inkrementell indexering, lagra indexet på SSD‑diskar och konfigurera IndexingOptions.MaxDegreeOfParallelism så att den matchar antalet CPU‑kärnor.


Senast uppdaterad: 2026-09-16
Testad med: GroupDocs.Search 23.10 for .NET
Författare: GroupDocs

using GroupDocs.Search.Options;

SearchOptions options = new SearchOptions();
options.UseSynonymSearch = true; // Activate synonym search.
string query = "improve";
SearchResult result = index.Search(query, options);
// This operation returns documents matching 'improve' or its synonyms.

Relaterade handledningar