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
HighlightOptionskullanı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 -versionkomutunun 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.highlightInDocumentyö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.
HighlightOptionsayarlayın:termsBefore/Afterdeğerlerini azaltmak, çok büyük belgelerde bellek kullanımını düşürür.
Yaygın Sorunlar ve Çözümleme
| Belirti | Muhtemel Neden | Çözüm |
|---|---|---|
| Sonuç döndürülmedi | İndeks oluşturulmadı veya yanlış klasöre işaret ediyor | Utils.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 sorunu | termsTotal değerini artırın veya belgenin kodlamasının desteklendiğinden emin olun |
| Port çakışma hatası | basePort zaten kullanımda | Farklı 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