Java Kullanarak GroupDocs.Search ile Arama Sonuçlarını Vurgulama

Eğer sonsuz belgeler arasında manuel olarak gezinmekten sıkıldıysanız, highlight search results java ihtiyacınız olanı hızlı ve güvenilir bir şekilde ortaya çıkarır. Bu öğreticide dağıtık bir arama ağı yapılandırmayı, dosyalarınızı indekslemeyi, sorgular çalıştırmayı ve sonunda eşleşmeleri doğrudan belgeler içinde vurgulamayı adım adım göstereceğiz. Sonunda, birden fazla düğümde ölçeklenebilen ve ilgili terimleri anında öne çıkaran üretim‑hazır bir çözümünüz olacak.

Hızlı Yanıtlar

  • “highlight search results java” ne anlama geliyor? Java kütüphaneleri (örneğin GroupDocs.Search) kullanılırken belgeler içinde bulunan anahtar kelimeleri programlı olarak işaretlemeyi ifade eder.
  • Aynı belgede birden fazla terimi vurgulayabilir miyim? Evet – her eşleşmeden önce/sonra gösterilecek terim sayısını tanımlamak için HighlightOptions kullanın.
  • Bu örneği çalıştırmak için lisansa ihtiyacım var mı? Test için ücretsiz deneme veya geçici lisans yeterlidir; üretim için tam lisans gereklidir.
  • Hangi Java sürümü gerekiyor? Java 8 veya üzeri.
  • Bu yaklaşım büyük belge koleksiyonları için uygun mu? Kesinlikle – arama ağı indeksleme ve sorgu yükünü düğümler arasında dağıtır.

Highlight Search Results Java Nedir?

Highlight search results java, bir arama sorgusunu alıp belgelerinizdeki eşleşen parçaları bulma ve bu parçaları görsel olarak vurgulama (örneğin, işaretleyicilerle çevreleyerek ya da vurgulanmış snippetler olarak döndürerek) sürecidir. Bu, son kullanıcıların tüm dosyayı açmadan her eşleşmenin bağlamını görmesini kolaylaştırır.

Highlight Search Results Java Neden Önemlidir

highlight search results java kullanmak, bir terimin tam olarak nerede göründüğünü göstererek kullanıcı deneyimini iyileştirir, alakasız dosyaları açma süresini azaltır ve uyumluluk ekiplerinin hassas bilgileri hızlıca bulmasına yardımcı olur. Dağıtık bir arama ağıyla birleştirildiğinde, belge koleksiyonu milyonlara çıktıkça bile çözüm yanıt vermeye devam eder.

Vurgulama İçin Neden GroupDocs.Search Kullanılmalı?

GroupDocs.Search, onlarca dosya formatını, dağıtık indekslemeyi ve yerleşik fragment vurgulayıcıları destekleyen hazır, yüksek performanslı bir motor sunar. Özel ayrıştırıcılar yazma veya düşük seviyeli arama altyapısını yönetme ihtiyacını ortadan kaldırarak, sorunsuz bir kullanıcı deneyimi sunmaya odaklanmanızı sağlar.

Ön Koşullar

  • Java Development Kit (JDK) 8+java -version komutunun 1.8 veya daha yüksek bir sürüm rapor ettiğinden emin olun.
  • Maven – bağımlılık yönetimi için.
  • GroupDocs.Search for Java 25.4 – bu kılavuz boyunca kullanılan sürüm.
  • IntelliJ IDEA veya Eclipse gibi bir IDE (isteğe bağlı ama tavsiye edilir).
  • Java ve ağ kavramları hakkında temel bilgi.

GroupDocs.Search for Java Kurulumu

Kütüphaneyi projenize Maven aracılığıyla ya da JAR dosyasını doğrudan indirerek ekleyebilirsiniz.

Maven Kurulumu

pom.xml dosyanıza depo ve bağımlılığı ekleyin:

<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>

Doğrudan İndirme

Alternatif olarak, en son JAR dosyasını GroupDocs.Search for Java releases adresinden indirin.

Lisans Edinme Adımları

  • Ücretsiz Deneme: Temel özellikleri keşfetmek için bir deneme ile başlayın.
  • Geçici Lisans: bu sayfadan genişletilmiş bir test lisansı alın.
  • Satın Al: Üretim dağıtımları için tam lisans edinin.

Temel Başlatma ve Kurulum

Arama indeksinin saklanacağı bir klasöre işaret eden bir Index örneği oluşturun:

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.");
    }
}

Uygulama Kılavuzu

Dağıtık Bir Ağda Highlight Search Results Java Nasıl Kullanılır

Arama Ağı Yapılandırması

İlk olarak, belgelerinizin nerede bulunduğunu ve ağın hangi portu kullanacağını tanımlayın.

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 – indekslemek istediğiniz dosyaları içeren kök klasör.
  • basePort – düğüm iletişimi için TCP portu; kullanılmamış bir port seçin.

Arama Ağı Düğümlerinin Dağıtılması

Yapılandırmaya göre bir veya daha fazla düğüm dağıtın. İlk düğüm master olur.

import com.groupdocs.search.scaling.*;

SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0];
  • nodes – çalışan tüm düğümlerin bir dizisi.
  • masterNode – indeksleme ve sorgu dağıtımını koordine eder.

Arama Ağı Düğüm Olaylarına Abone Olma

Gerçek zamanlı bildirimler almak için (ör. indeksleme tamamlandığında) master düğüme dinleyiciler ekleyin.

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

SearchNetworkNodeEvents.subscribe(masterNode);

Ağ Düğümünde Dizinlerin İndekslenmesi

Düğümü indekslemek istediğiniz klasör(ler)e yönlendirin. Yardımcı sınıf Utils.DocumentsPath örnek veri klasörüne işaret eder.

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

IndexingDocuments.addDirectories(masterNode, Utils.DocumentsPath);

Ağ Düğümleri Üzerinde Metin Arama

Sorguyu tüm düğümlerde çalıştırın ve eşleşen belgeleri alın.

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" ifadesini bulmak istediğiniz herhangi bir terimle değiştirin.
  • highlightInDocument yöntemi (aşağıda gösterildiği gibi) vurgulamayı uygular.

Çoklu Terimleri Belge İçinde Vurgulama – Arama Sonuçlarını Vurgulama

Aşağıdaki yöntem, her eşleşmenin etrafındaki fragmentleri nasıl vurgulayacağınızı gösterir. Ayrıca çevredeki terim sayısını kontrol etmeyi göstererek ikincil anahtar kelime highlight multiple terms document gereksinimini karşılar.

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 – düz metin snippetleri döndürür; daha zengin bir UI için HTML’ye geçebilirsiniz.
  • HighlightOptions – her eşleşmeden önce/sonra kaç kelime dahil edileceğini kontrol eder (setTermsBefore, setTermsAfter).
  • maxFragments – bir belge için görüntülediğiniz snippet sayısını sınırlar.

Ağ Düğümlerini Kapatma

İşiniz bittiğinde, kaynakları serbest bırakmak için tüm düğümleri kapatın.

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

Pratik Uygulamalar

  • Kurumsal Belge Yönetimi: Kurumsal dosyaları merkezileştirin ve çalışanların ilgili sözleşme veya politikaları anında bulmasını sağlayın.
  • Hukuki Dava Dosyaları: Anahtar hukuki terimleri vurgulayarak emsal belgeleri hızlıca ortaya çıkarın.
  • Ar-Ge Bilgi Tabanları: Araştırmacılar patentleri veya teknik makaleleri arayabilir ve vurgulanmış alıntıları görebilir.
  • E‑ticaret Katalogları: Alışveriş yapanların ürünleri anahtar kelimeyle bulmasını ve açıklamalarda vurgulanmış eşleşmeleri görmesini sağlayın.
  • Kütüphane Sistemleri: Kullanıcılar binlerce kitapta arama yapabilir ve her dosyayı açmadan vurgulanmış pasajları görebilir.

Performans Düşünceleri

  • İndeksleri güncel tutun: Değişen dosyaları gece yeniden indeksleyin veya artımlı güncellemeler kullanın.
  • Birden fazla düğüm kullanın: İndeksleme ve sorgu yükünü dağıtarak darboğazları önleyin.
  • HighlightOptions ayarlayın: termsBefore/After değerlerini azaltmak, çok büyük belgelerde bellek kullanımını düşürür.

Yaygın Sorunlar ve Çözümleme

BelirtiMuhtemel NedenÇözüm
Sonuç döndürülmediİndeks oluşturulmadı veya yanlış klasöre işaret ediyorUtils.DocumentsPath doğrulayın ve IndexingDocuments.addDirectories komutunu tekrar çalıştırın
Vurgulama çıktısı boşHighlightOptions limitleri çok düşük veya belge kodlama sorunutermsTotal değerini artırın veya belgenin kodlamasının desteklendiğinden emin olun
Port çakışma hatasıbasePort zaten kullanımdaFarklı bir port numarası seçin (ör. 49117)
Lisans istisnasıEksik veya süresi dolmuş lisans dosyasıUygulama kök dizinine geçerli bir GroupDocs.Search.lic dosyası yerleştirin

Sık Sorulan Sorular

S: Birden fazla arama ağı düğümü dağıtarak yük dengelemesi yapabilir miyim?
C: Evet, birkaç düğüm dağıtarak indeksleme ve sorgu işini yayar, ölçeklenebilirliği ve yanıt süresini iyileştirir.

S: Aynı belgede birden fazla arama terimini nasıl vurgularım?
C: highlight metoduna bir terim listesi gönderin ve her eşleşme için çevredeki kelimeleri gösterecek şekilde HighlightOptions yapılandırın.

S: Gerçek zamanlı arama olaylarına abone olmak mümkün mü?
C: Kesinlikle. SearchNetworkNodeEvents.subscribe(masterNode) kullanarak indeksleme ilerlemesi, sorgu yürütmesi ve hatalar için geri çağrılar alabilirsiniz.

S: GroupDocs.Search hangi dosya formatlarını indeksleme ve vurgulama için destekliyor?
C: DOCX, PDF, HTML, TXT, PPTX ve daha fazlası dahil olmak üzere 50’den fazla format.

S: Çok büyük koleksiyonlarda arama hızını nasıl artırabilirim?
C: İndeksleri düzenli olarak güncelleyin, düğümler arasında dağıtın ve fragment boyutunu sınırlamak için HighlightOptions ayarlarını ince ayar yapın.


Son Güncelleme: 2026-03-17
Test Edilen Sürüm: GroupDocs.Search for Java 25.4
Yazar: GroupDocs