.NET에서 GroupDocs Search 및 Redaction을 사용한 동의어 관리 마스터하기

애플리케이션이 다양한 단어 변형을 이해하는 능력을 향상시키려면 동의어 관리 방법을 효과적으로 구현하는 것부터 시작합니다. 더 똑똑한 검색 결과나 정밀한 콘텐츠 가리기가 필요하든, 이 가이드는 GroupDocs.Search for .NET과 GroupDocs.Redaction을 함께 사용하는 방법을 단계별로 안내합니다. 끝까지 읽으면 동의어 사전을 생성, 내보내기, 가져오기 및 조회할 수 있게 되며, 이러한 기능이 실제 시나리오에 어떻게 적용되는지 확인할 수 있습니다.

빠른 답변

  • “동의어 관리 방법”은 무엇을 의미합니까? 검색이 단어 변형에 대한 결과를 반환하도록 동의어 사전을 생성, 업데이트 및 사용하는 과정입니다.
  • 어떤 라이브러리가 동의어 지원을 제공합니까? GroupDocs.Search for .NET은 내장된 동의어 사전을 제공합니다.
  • 동의어 사전을 가져올 수 있나요? 예 – 이전에 내보낸 파일을 로드하려면 ImportDictionary 메서드를 사용하십시오.
  • 라이선스가 필요합니까? 평가용으로는 무료 체험판으로 충분하지만, 실제 운영에는 정식 라이선스가 필요합니다.
  • Redaction과 호환되나요? 물론입니다 – 검색 기반 동의어 처리를 GroupDocs.Redaction과 결합하여 안전한 문서 처리를 할 수 있습니다.

동의어 관리란 무엇인가요?

동의어 관리는 동일한 의미를 공유하는 단어 그룹을 정의하는 작업입니다(예: “buy”, “purchase”, “acquire”). 사용자가 하나의 용어를 검색하면 엔진이 자동으로 해당 동의어를 포함하도록 쿼리를 확장하여 보다 포괄적인 결과를 제공합니다.

동의어 관리에 GroupDocs Search를 사용하는 이유

  • 내장 사전 API – 직접 데이터 구조를 구현할 필요가 없습니다.
  • GroupDocs.Redaction과의 원활한 통합 – 동의어 확장 쿼리를 기반으로 콘텐츠를 가릴 수 있습니다.
  • 성능 최적화된 인덱싱 및 검색으로 대규모 동의어 세트에서도 효율적입니다.

전제 조건

  • GroupDocs.Search 및 GroupDocs.Redaction NuGet 패키지.
  • .NET 개발 환경(Visual Studio, VS Code 또는 .NET CLI).
  • 기본 C# 지식, 특히 파일 처리와 컬렉션에 관한 내용.

.NET용 GroupDocs Redaction 설정

설치 정보

프로젝트에 필요한 라이브러리를 다음 방법 중 하나로 추가하십시오:

.NET CLI

dotnet add package GroupDocs.Redaction

Package Manager Console

Install-Package GroupDocs.Redaction

NuGet Package Manager UI:
Search for GroupDocs.Redaction and install the latest version.

라이선스 획득 단계

  1. 무료 체험 – 라이선스 키 없이 핵심 기능을 탐색합니다.
  2. 임시 라이선스 – 제한된 기간 동안 사용할 수 있는 키를 받아 테스트를 연장합니다.
  3. 정식 라이선스 – 제한 없는 운영 사용을 위해 구매합니다.

기본 초기화

using GroupDocs.Redaction;

// Initialize Redactor with a file path and apply basic configurations
Redactor redactor = new Redactor("sample.docx");
redactor.Apply(new ExactPhraseRedaction("Sensitive Info", new ReplacementOptions("[REDACTED]")));

구현 가이드

.NET 프로젝트에서 동의어 관리 방법을 수행하기 위해 필요한 각 단계를 살펴보겠습니다.

인덱스 생성 및 관리

개요

인덱스를 생성하는 것은 모든 동의어 작업의 기반입니다. Index 클래스를 폴더에 지정한 뒤 검색 가능한 문서를 추가합니다.

단계

  • Initialize the Index

    using GroupDocs.Search;
    
    // Specify paths according to your environment
    string indexPath = @"YOUR_DOCUMENT_DIRECTORY/ManagingDictionaries/SynonymDictionary/Index";
    Index index = new Index(indexPath);
    
  • Add Documents

    string documentsPath = @"YOUR_DOCUMENT_DIRECTORY/DocumentsPath2";
    index.Add(documentsPath);
    

단어에 대한 동의어 검색

개요

특정 용어에 대한 모든 동의어를 가져올 수 있으며, 이는 제안 표시나 사전 디버깅에 유용합니다.

단계

string[] synonyms = index.Dictionaries.SynonymDictionary.GetSynonyms("make");
foreach (string synonym in synonyms)
{
    Console.WriteLine(synonym);
}

동의어 그룹 검색

개요

그룹을 통해 관련 단어를 함께 클러스터링하여 의미 분석에 도움을 줍니다.

단계

string[][] synonymGroups = index.Dictionaries.SynonymDictionary.GetSynonymGroups("make");
foreach (string[] group in synonymGroups)
{
    Console.WriteLine(string.Join(", ", group));
}

사전에서 동의어 삭제 및 추가

개요

동적 애플리케이션은 전체 인덱스를 재구축하지 않고도 동의어 목록을 새로 고쳐야 할 때가 많습니다.

단계

if (index.Dictionaries.SynonymDictionary.Count > 0)
{
    index.Dictionaries.SynonymDictionary.Clear();
}
string[][] newSynonymGroups = new string[][
    { "achieve", "accomplish", "attain", "reach" },
    { "accept", "take", "have" }
];

index.Dictionaries.SynonymDictionary.AddRange(newSynonymGroups);

동의어 사전 내보내기 및 가져오기

개요

내보내기를 통해 동의어 데이터를 백업하거나 공유할 수 있으며, 가져오기를 통해 나중에 복원하거나 공유 사전을 로드할 수 있습니다.

단계

string fileName = @"YOUR_DOCUMENT_DIRECTORY/ManagingDictionaries/SynonymDictionary/Synonyms.dat";
index.Dictionaries.SynonymDictionary.ExportDictionary(fileName);
index.Dictionaries.SynonymDictionary.ImportDictionary(fileName);

인덱스에서 동의어 검색 수행

개요

검색 쿼리 중에 동의어 확장을 활성화하면 사용자가 다른 표현을 사용하더라도 관련 문서를 찾을 수 있습니다.

단계

string query = "better";
SearchOptions options = new SearchOptions() { UseSynonymSearch = true };
SearchResult result = index.Search(query, options);

// Display results (implementation-dependent)
foreach (FoundDocument doc in result)
{
    Console.WriteLine($"Document: {doc.DocumentInfo.FilePath}");
}

실용적인 적용 사례

  • 법률 문서 관리 – 동의어 법률 용어를 사용하여 계약서를 찾습니다.
  • 콘텐츠 추천 엔진 – 동의어 확장 쿼리를 기반으로 기사 추천.
  • 고객 지원 시스템 – 표현이 다르더라도 티켓을 지식 베이스 기사와 매칭합니다.
  • 전자상거래 플랫폼 – “sofa”와 “couch”와 같은 동의어를 인식해 제품 검색을 개선합니다.

성능 고려 사항

  • 인덱싱 전략 – 동의어 데이터를 최신 상태로 유지하기 위해 인덱스를 점진적으로 재구축하거나 업데이트합니다.
  • 리소스 사용 – 대규모 동의어 사전을 로드할 때 메모리를 모니터링하고 Index 객체를 즉시 해제합니다.
  • 스레드 안전성 – 적절한 동기화 없이 단일 Index 인스턴스를 여러 스레드에서 공유하지 않도록 합니다.

일반적인 문제 및 해결책

IssueCauseFix
동의어에 대한 결과가 반환되지 않음동의어 사전이 로드되지 않았거나 UseSynonymSearch가 false로 설정됨SearchOptions.UseSynonymSearch = true로 설정하고 사전이 올바르게 import 되었는지 확인하십시오.
재import 후 중복 항목 발생먼저 사전을 비우지 않고 import 호출ImportDictionary 호출 전에 index.Dictionaries.SynonymDictionary.Clear()를 호출하십시오.
높은 메모리 사용량매우 큰 동의어 파일이 메모리에 로드됨동의어를 여러 작은 사전으로 분할하거나 필요 시 로드하십시오.

자주 묻는 질문

Q: 업데이트 후 동의어 사전을 어떻게 가져오나요?
A: 기존 사전을 선택적으로 비운 후 index.Dictionaries.SynonymDictionary.ImportDictionary(filePath)를 사용하십시오.

Q: 동의어 검색을 구문 검색과 결합할 수 있나요?
A: 예 – SearchOptions에서 UseSynonymSearch와 UsePhraseSearch를 모두 활성화하면 결합된 동작을 얻을 수 있습니다.

Q: 동의어를 변경한 후 인덱스를 재구축해야 하나요?
A: 아니요, 동의어 변경은 사전에 저장되며 새로운 검색에 즉시 적용됩니다.

Q: 동의어를 사람이 읽을 수 있는 형식으로 내보낼 수 있나요?
A: ExportDictionary 메서드는 바이너리 파일을 작성합니다; 이를 역직렬화하거나 가독성을 위해 별도의 JSON/YAML 파일을 유지할 수 있습니다.

Q: Redaction이 동의어 확장 쿼리를 반영하나요?
A: 물론입니다 – 먼저 동의어 검색을 수행한 다음 결과 문서 목록을 GroupDocs.Redaction에 전달하여 안전하게 처리할 수 있습니다.


마지막 업데이트: 2026-04-11
테스트 환경: GroupDocs.Search 23.11 for .NET, GroupDocs.Redaction 23.11 for .NET
작성자: GroupDocs