PDF Metnini Java ile Çıkar – GroupDocs.Search ile Dizin Oluştur
Bu uygulamalı rehberde PDF dosyalarından how to extract pdf text java‘ı keşfedecek, çıkarılan içeriği serileştirecek ve yüksek performanslı bir aranabilir dizin oluşturacaksınız. İster dahili bir bilgi tabanı, bir sözleşme arama portalı, ister özel bir arama motoru oluşturuyor olun, aşağıdaki adımlar her şeyi size adım adım gösterecek—PDF’lerden metin çekmekten güçlü tam metin sorgularını çalıştırmaya kadar. Hadi başlayalım ve GroupDocs.Search’in tüm süreci nasıl sorunsuz ve ölçeklenebilir kıldığını görelim.
Hızlı Yanıtlar
index.search yöntemi, oluşturulan dizine bir sorgu çalıştırır ve ilgili skorlarıyla eşleşen belgelerin bir listesini döndürür.
- Ana amaç nedir? PDF dosyalarından pdf text java’ı çıkarmak ve GroupDocs.Search ile aranabilir bir belge dizini oluşturmak.
- Hangi kütüphane sürümü? GroupDocs.Search 25.4 (veya en son sürüm).
- Lisans gerekir mi? Geliştirme için ücretsiz deneme çalışır; üretim için tam lisans gereklidir.
- PDF’leri indeksleyebilir miyim? Evet—PDF metnini çıkarın ve dizine ekleyin.
- Aramayı nasıl çalıştırırım? Verileri ekledikten sonra
index.search(query)yöntemini kullanın.
Belge Dizini Nedir?
Bir Belge Dizini, dosyalarınızdan çıkarılan aranabilir terimlerin yapılandırılmış bir koleksiyonudur. Her terimi, göründüğü belgelerle eşleştirir, büyük depolarda hızlı tam metin aramaları yapmayı sağlar ve arama süresini dakikalardan milisaniyelere düşürür; aynı zamanda sıralama ve alaka düzeyi özelliklerini destekler.
Java için GroupDocs.Search Neden Kullanılmalı?
GroupDocs.Search 50+ input and output formats‘ı destekler, millions of documents‘ı tüm dosyayı belleğe yüklemeden indeksleyebilir ve Boolean, wildcard ve proximity operatörleriyle rich query language sunar. Bu ölçülen yetenekler, kurumsal ölçekli arama çözümleri için idealdir. Ayrıca çok dilli içeriklerde arama doğruluğunu artırmak için yerleşik dil algılama, kök bulma ve özelleştirilebilir analizörler sağlar.
Önkoşullar
- GroupDocs.Search for Java (Version 25.4 veya daha yeni).
- Java Development Kit (JDK), GroupDocs sürümünüzle uyumlu.
- IntelliJ IDEA veya Eclipse gibi bir IDE.
- Bağımlılık yönetimi için Maven.
GroupDocs.Search for Java Kurulumu
İlk olarak, kütüphaneyi projenize ekleyin.
Maven Kurulumupom.xml dosyanıza aşağıdakileri 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 sürümü GroupDocs.Search for Java releases adresinden indirin.
Lisans Edinme
- Ücretsiz Deneme – Geçici bir lisansla tüm özellikleri test edin.
- Satın Al – Tam erişim ve öncelikli destek alın.
PDF’lerden (ve diğer belgelerden) metin nasıl çıkarılır
Extractor sınıfı ile PDF’nizi (veya desteklenen belgeyi) yükleyin, çıkarma seçeneklerini yapılandırın ve extractText()‘i çağırın. Bu tek satırlık çağrı, indekslemeye hazır ham ya da biçimlendirilmiş metni döndürür.
Extractor sınıfı, bir belgeyi okuyan ve düz ya da biçimlendirilmiş metin üreten GroupDocs.Search’in temel bileşenidir.
// ```java
String documentPath = "YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf";
Extractor extractor = new Extractor();
Document document = Document.createFromFile(documentPath);
// ```java
ExtractionOptions extractionOptions = new ExtractionOptions();
extractionOptions.setUseRawTextExtraction(false); // Extract with formatting
ExtractedData extractedData = extractor.extract(document, extractionOptions);
İpucu: Biçimlendirme olmadan düz metin gerekiyorsa
setUseRawTextExtraction(true)ayarlayın.
Çıkarılan veriyi nasıl serileştirirsiniz
Serileştirme, çıkarılan metin nesnesini bir bayt dizisine dönüştürür, böylece daha sonra indeksleme için diske kaydedebilir veya ağ üzerinden iletebilirsiniz.
SerializationUtil yardımcı programı, nesneleri bayt akışlarına ve geri dönüştürmek için statik yöntemler sağlar.
// ```java
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
extractedData.serialize(outputStream);
byte[] serializedArray = outputStream.toByteArray();
Çıkarılan veriyi nasıl seriden çıkarırsınız
Dizini oluşturmaya hazır olduğunuzda, önceden depolanmış bayt dizisini orijinal çıkarma nesnesine geri seriden çıkarın.
deserialize yöntemi, çıkarma sonucunun tam durumunu geri yükler ve oturumlar arasında veri kaybı olmadığından emin olur.
// ```java
ByteArrayInputStream inputStream = new ByteArrayInputStream(serializedArray);
ExtractedData deserializedData = ExtractedData.deserialize(inputStream);
Belge dizini nasıl oluşturulur
Bir Index nesnesi oluşturun, depolama klasörünü belirtin ve terim vektörleri ile durdurma kelimeleri işleme gibi indeksleme seçeneklerini yapılandırın.
Index sınıfı, tüm terimleri, belge referanslarını ve meta verileri tutan aranabilir konteyneri temsil eder.
// ```java
String indexFolder = "YOUR_OUTPUT_DIRECTORY/AdvancedUsage/Indexing/SeparateDataExtraction";
com.groupdocs.search.Index index = new com.groupdocs.search.Index(indexFolder);
Veriyi dizine ekleme ve arama yapma
Seriden çıkarılan çıkarma sonucunu index.add() ile dizine ekleyin, ardından anında sonuçlar için index.search() kullanarak sorgu yapın.
add yöntemi, belgenin terimlerini dizine kaydeder, search ise bu terimlere karşı sorguyu yürütür.
// ```java
ExtractedData[] dataToIndex = new ExtractedData[] { deserializedData };
index.add(dataToIndex, new IndexingOptions());
// ```java
String query = "ipsum";
SearchResult result = index.search(query);
Pro ipucu: Alaka sıralamasını ince ayarlamak için
index.search("your query", SearchOptions)kullanın.
Yaygın Kullanım Senaryoları
- Document Management Systems – Sözleşmeleri, faturaları veya politikaları hızlıca bulun.
- Content‑Based Search Engines – İç bilgi tabanlarını tam metin arama java yetenekleriyle güçlendirin.
- Data Archiving Solutions – Tarihi kayıtları anlık erişim için indeksleyin.
Performans Düşünceleri
setStoreTermVectors(boolean) yöntemi, terim vektörlerinin dizinde saklanıp saklanmayacağını yapılandırır; bu, dizin boyutu ve sorgu performansını etkiler.
- Memory Management: 500 MB’den büyük partileri işlerken JVM yığın boyutunu artırın (ör.
-Xmx4g). - Indexing Options: Dizinin boyutunu %30’a kadar azaltmak için terim vektörlerini devre dışı bırakın (
setStoreTermVectors(false)). - Regular Updates: GroupDocs.Search’i güncel tutun; her küçük sürüm ortalama %10‑15 hız artışı içerir.
Sıkça Sorulan Sorular
S: Çok büyük PDF dosyalarını verimli bir şekilde nasıl yönetirim?
C: Dosyayı Extractor ile akışa alın ve parçalar halinde işleyin; ayrıca gerekirse JVM yığınını artırın.
S: Arama sorgu sözdizimini özelleştirebilir miyim?
C: Evet—GroupDocs.Search Boolean operatörleri, wildcard’lar ve yakınlık aramaları destekler.
S: Serileştirme başarısız olursa ne yapmalıyım?
C: Tüm nesnelerin Serializable uyguladığını doğrulayın ve ayrıntıları kaydetmek için IOException yakalayın.
S: Bir belgenin yalnızca belirli bölümlerini indekslemek mümkün mü?
C: Kesinlikle—indekslemeden önce sayfaları veya bölümleri filtrelemek için ExtractionOptions yapılandırın.
S: Daha yeni bir GroupDocs.Search sürümüne nasıl yükseltirim?
C: pom.xml dosyanızdaki sürüm numarasını güncelleyin ve mvn clean install çalıştırın; kırılma değişiklikleri için geçiş kılavuzunu inceleyin.
Kaynaklar
- GroupDocs.Search for Java sürümleri: GroupDocs.Search for Java releases
- Dokümantasyon: GroupDocs Documentation
- API Referansı: GroupDocs API Reference
- İndirme: GroupDocs Downloads
- GitHub: GroupDocs GitHub Repository
- Ücretsiz Destek: GroupDocs Forum
- Geçici Lisans: Obtain a Temporary License
Son Güncelleme: 2026-07-07
Test Edilen Versiyon: GroupDocs.Search 25.4 for Java
Yazar: GroupDocs