GroupDocs.Search를 사용하여 검색 결과 강조 표시 Java

끝없이 많은 문서를 수동으로 살펴보는 것이 지겹다면 검색 결과 강조 표시 java는 확실히 필요한 정보를 신뢰할 수 있는 방법을 제공할 수 있는 방법입니다. 이 튜토리얼에서는 섹션 내부 검색 섹션 구성, 파일 화물 처리, 쿼리 실행, 그리고 최종적으로 문서에서 검색 항목을 표시하는 과정을 완료하도록 안내합니다. 대칭에 따라 여러 개의 클러스터에 확장 가능하고 관련성을 즉시 강조할 수 있는 통합 솔루션을 제공합니다.

빠른 답변

  • “검색 결과 강조 표시 java”가 무엇을 의미하는지? Java 클래스인 GroupDocs.Search와 같은 라이브러리를 사용할 때 문서 내에서 찾기 키워드를 프로그래밍 방식으로 표시하는 것을 의미합니다.
  • ** 문서 같은 것에서 여러 가지를 하이라이트할 수 있습니까?** 예 – HighlightOptions를 사용하여 각 일치 항목에 표시할 수 있는 정의를 정의합니다.
  • 이 사례를 실행하려면 규모가 필요합니까? 테스트용으로 무료로 체험할 수 있는 능력으로 충분하지만, 규모에 있어서는 규모가 필요합니다.
  • Java 버전이 필요한가요? Java8 이상.
  • 대규모 문서 오피스에 이 접근 방식이 어떻게 가요? 물론입니다 – 검색 네트워크의 독립성 및 쿼리를 처리하는 데 사용됩니다.

하이라이트 검색결과 자바란 무엇인가요?

검색 결과 강조 표시 java는 검색 쿼리를 수신하여 내 문서에서 일치하는 조각을 찾아내고, 해당 조각을 표시하여 강조하는 과정(예: 마커로 탐색하거나 하이라이트된 스니펫으로 반환)입니다. 이를 통해 최종 사용자는 전체 파일을 열지 않고 검색 항목의 컨텍스트를 쉽게 찾을 수 있습니다.

강조 표시를 위해 GroupDocs.Search를 사용하는 이유는 무엇입니까?

GroupDocs.Search는 안테나 파일 형식, 망원경 인싱 및 내장 조각 하이라이터를 지원하는 즉시 사용 가능한 엔진을 제공합니다. 이를 통해 사용자 정의 파이브 작성을 저수준으로 검색하여 관리할 필요가 있거나 분리하고 통합 사용자 환경 제공에 집중할 수 있습니다.

전제조건

  • JDK(Java Development Kit) 8+java -version이 1.8 이상을 표시하는지 확인하세요.
  • Maven – 의존성을 관리하기 위해 필요합니다.
  • GroupDocs.Search for Java 25.4 – 이 가이드 전체에서 사용하는 버전입니다.
  • IntelliJ IDEA 또는 Eclipse와 같은 IDE (선택하시려면 추천).
  • Java 및 네트워킹 개념에 대한 기본 지식.

Java용 GroupDocs.Search 설정

라이브러리를 프로젝트에 추가하는 방법은 Maven을 사용하거나 JAR 파일을 직접 다운로드하는 두 가지가 있습니다.

메이븐 설정

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>

직접 다운로드

또는 최신 JAR 파일을 GroupDocs.Search for Java 릴리스에서 다운로드합니다.

라이선스 취득 단계

  • 무료 체험: 핵심 기능을 살펴보기 위해 체험판으로 시작합니다.
  • 임시력: 이 페이지에서 연장자를 돌리는 것을.
  • 구매: 배치를 통해 영광을 획득합니다.

기본 초기화 및 설정

검색할 때 저장 가능한 폴더를 표시하려면 Index를 생성하세요:

import com.groupdocs.search.*;

public class SearchSetup {
    public static void main(String[] args) {
        // Create an instance of Index
        Index index = new Index("path/to/index/directory");
        System.out.println("GroupDocs.Search initialized successfully.");
    }
}

구현 가이드

분산 네트워크에서 검색 결과 Java를 강조 표시하는 방법

검색 네트워크 구성

먼저, 문서는 서로 다른 위치와 네트워크의 사용 범위를 정의합니다.

import com.groupdocs.search.common.*;
import com.groupdocs.search.scaling.configuring.*;

String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/HighlightingResultsInNetwork/";
int basePort = 49116; // Change if port is busy

Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
  • basePath – 인덱싱하려는 파일이 들어 있는 루트 폴더.
  • basePort – 노드 간 통신에 사용할 TCP 포트; 사용되지 않는 포트를 선택하세요.

검색 네트워크 노드 배포

구성에 따라 하나 이상의 노드를 배포합니다. 첫 번째 노드가 마스터가 됩니다.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – 실행 중인 모든 노드의 배열.
  • masterNode – 인덱싱 및 쿼리 배포를 조정합니다.

검색 네트워크 노드 이벤트 구독

마스터 노드에 리스너를 연결하여 실시간 알림(예: 인덱싱 완료 시)을 받습니다.

import com.groupdocs.search.scaling.events.*;

SearchNetworkNodeEvents.subscribe(masterNode);

네트워크 노드에 디렉터리 인덱싱

노드가 인덱싱하려는 폴더를 지정합니다. 헬퍼 클래스 Utils.DocumentsPath가 샘플 데이터 폴더를 가리킵니다.

import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.options.*;

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

네트워크 노드 간 텍스트 검색

전체 노드에 대해 쿼리를 실행하고 일치하는 문서를 가져옵니다.

import java.util.ArrayList;
import com.groupdocs.search.scaling.results.*;

ArrayList<NetworkFoundDocument> documents = TextSearchInNetwork.searchAll(masterNode, "ipsum", false);
highlightInDocument(masterNode, documents.get(0), 3); // Highlight results from the first found document.
  • "ipsum"을 찾고자 하는 용어로 교체합니다.
  • 다음에 표시되는 highlightInDocument 메서드가 하이라이트를 적용합니다.

문서에서 여러 용어 강조 표시 - 검색 결과 강조 표시

다음 메서드는 각 일치 항목 주변 조각을 하이라이트하는 방법을 보여줍니다. 또한 주변 용어 수를 제어하는 방법을 보여주며, 부키워드 highlight multiple terms document를 만족합니다.

import com.groupdocs.search.highlighters.*;
import com.groupdocs.search.options.*;

public static void highlightInDocument(
    SearchNetworkNode node,
    NetworkFoundDocument document,
    int maxFragments) {
    
    Searcher searcher = node.getSearcher();
    FragmentHighlighter highlighter = new FragmentHighlighter(OutputFormat.PlainText);

    HighlightOptions options = new HighlightOptions();
    options.setTermsAfter(5);
    options.setTermsBefore(5);
    options.setTermsTotal(15);

    searcher.highlight(document, highlighter, options); // Perform highlighting on the document.

    FragmentContainer[] result = highlighter.getResult();
    for (FragmentContainer container : result) {
        if (container.getCount() == 0) continue;

        String[] fragments = container.getFragments();
        int count = Math.min(fragments.length, maxFragments);
        for (int j = 0; j < count; j++) {
            // Print each fragment within the specified limit.
        }
    }
}
  • OutputFormat.PlainText – 일반 텍스트 스니펫을 반환합니다; 더 풍부한 UI를 위해 HTML로 전환할 수 있습니다.
  • HighlightOptions – 각 일치 항목 앞뒤에 포함될 단어 수를 제어합니다(setTermsBefore, setTermsAfter).
  • maxFragments – 문서당 표시할 스니펫 수를 제한합니다.

네트워크 노드 닫기

작업이 끝나면 모든 노드를 종료하여 리소스를 해제합니다.

for (SearchNetworkNode node : nodes) {
    node.close();
}

실제 적용

  • 엔터프라이즈 문서 관리: 기업 파일을 중앙 집약화하고 직원들이 관련 계약서를 체결하는 경우 즉시 찾을 수 있습니다.
  • 법률 사건 파일: 핵심 사안을 처리하여 선례 문서를 신속하게 찾아냅니다.
  • R&D 지식을 참고하세요: 실험자들이 특허나 기술 논문을 검색하고 하이라이트하는 것을 전달할 수 있습니다.
  • 이커머스 소수: 쇼핑객이 키워드로 제품을 찾고 있는 설명에서 하이라이트된 일치 항목을 찾을 수 있을 것입니다.
  • 도서관 시스템: 다양한 다양한 권의 책을 검색하고 각 파일을 열지하고 흥미로운 활동을 볼 수 있습니다.

성능 고려 사항

  • **인덱스를 최신 상태로 유지합니다: **변경된 파일을 매일 밤 재인 컨테이너 또는 증분 업데이트를 사용합니다.
  • 다중 부서 활용: 인 독립 및 쿼리를 나누기 위해 병목 관계를 방지합니다.
  • HighlightOptions에 대해: termsBefore/After를 사용하면 매우 큰 문서의 메모리 변환 설명이 됩니다.

일반적인 문제 및 문제 해결

증상원인처리 방법
결과가 반환되지 않은 경우혹시라도 생성하지 않았거나 폴더를 가리킴Utils.DocumentsPath를 확인하고 IndexingDocuments.addDirectories를 다시 실행합니다
하이라이트 출력이 비어 있음HighlightOptions 제한이 너무 심하거나 문서 문제termsTotal을 선택하거나 입증서류를 확인하십시오
불편함을 겪다basePort가 이미 사용 중다른 포트 번호(예: 49117)를 선택합니다
라이센스 사용권한 파일이 허가됨특수한 위치에 GroupDocs.Search.lic 파일을 배치합니다

자주 묻는 질문

Q: 로드 밸런싱을 위해 여러 검색 네트워크에 배포할 수 있나요? A: 예, 여러 개별을 배포하면 독립체 및 쿼리 작업이 분산되어 확장된 성과 응답 시간이 처리됩니다.

Q: 같은 문서에서 여러 검색 결과를 원하는 대로 표시하려면? A: highlight 메서드에 따라 목록을 전달하고 HighlightOptions를 설정하여 각 일치 항목에 주변 단어를 표시하도록 합니다.

Q: 고대 검색 이벤트에 구독하실 수 있나요? A: 물론입니다. SearchNetworkNodeEvents.subscribe(masterNode)를 사용하면 컨테이너 처리, 쿼리 실행 및 오류에 대한 콜백을 보낼 수 있습니다.

Q: GroupDocs.Search의 인화물 및 하이라이트를 지원하는 파일 형식은 무엇입니까? A: DOCX, PDF, HTML, TXT, PPTX 등 50개 이상의 형식을 지원합니다.

Q: 매우 큰 컬렉션에서 검색 속도를 높이려면 어떻게 해야 할까요? A: 일부 내용을 검토하고, 오직 한쪽에만, HighlightOptions를 조정해 크기를 제한합니다.

결론

이 가이드를 따라 하면 이제 GroupDocs.Search를 사용한 highlight search results java에 대한 완전하고 프로덕션 수준의 설정을 갖추게 됩니다. 네트워크 전반에 솔루션을 확장하고, 지원되는 모든 문서 유형을 인덱싱하며, 빠른 쿼리를 실행하고, 사용자가 정확히 원하는 정보를 찾을 수 있도록 하이라이트된 스니펫을 반환할 수 있습니다. 다음 단계로는 결과를 웹 UI에 통합하거나, 파싯 검색을 추가하거나, 스캔된 PDF에 OCR을 결합하는 것을 탐색해 보세요.


마지막 업데이트: 2026-01-08
테스트 환경: GroupDocs.Search for Java 25.4
작성자: GroupDocs