Java Nasıl Dizinlenir – GroupDocs ile Hızlı Belge Arama
Eğer java nasıl indekslenir dosyalarını verimli bir şekilde indekslemeyi merak ediyorsanız, doğru yerdesiniz. Günümüzün veri odaklı dünyasında, doğru belgeyi hızlıca bulmak saatlerce süren manuel çalışmayı tasarruf ettirebilir. GroupDocs.Search for Java, birkaç satır kodla bir klasör dosyasını aranabilir bir indeks haline getirmenizi, indeks’e belge eklemenizi, indeks’ten belge silmenizi ve dosya sisteminden belgeleri yüklemenizi sağlayan basit bir yol sunar.
Aşağıda, gerekli kurulumla başlayan, bir indeks oluşturup doldurmayı, anahtar kelime aramaları nasıl çalıştırılacağını gösteren ve silme gibi temizlik işlemleriyle biten adım adım bir rehber bulacaksınız. Hadi başlayalım!
Hızlı Yanıtlar
- Birincil amaç nedir? Java belgelerini verimli bir şekilde indekslemek ve aramaktır.
- Hangi kütüphane gereklidir? GroupDocs.Search for Java (v25.4+).
- Lisans gerekli mi? Ücretsiz deneme veya geçici lisans mevcuttur; üretim için kalıcı lisans gereklidir.
- İndeksten belgeleri silebilir miyim? Evet, belge anahtarlarıyla
deletemetodunu kullanarak. - Apache Commons IO zorunlu mu? Dosya işleme yardımcı programları için önerilir.
“how to index java” nedir?
Java belgelerini indekslemek, belge içeriğini aranabilir terimlere eşleyen, anahtar kelime sorgularına dayalı olarak ilgili dosyaların hızlıca bulunmasını sağlayan bir aranabilir veri yapısı (indeks) oluşturmak anlamına gelir.
Neden GroupDocs.Search for Java Kullanmalı?
- Hız: Optimize edilmiş algoritmalar, büyük koleksiyonlarda bile hızlı sorgu sonuçları sağlar.
- Ölçeklenebilirlik: Performansı düşürmeden binlerce belgeyi yönetir.
- Esneklik: Birçok dosya formatını destekler ve büyük dosyalar için tembel yükleme (lazy loading) sunar.
- Entegrasyon Kolaylığı: Basit Maven kurulumu ve temiz, sezgisel bir API.
Önkoşullar
- GroupDocs.Search for Java (sürüm 25.4 veya daha yeni).
- Apache Commons IO, kullanışlı dosya yardımcı programları için.
- JDK 8 veya üzeri ve IntelliJ IDEA veya Eclipse gibi bir IDE.
- Temel Java bilgisi ve isteğe bağlı olarak Maven bilgisi.
GroupDocs.Search for Java Kurulumu
Maven yapılandırması
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>
Pro ipucu: Performans iyileştirmelerinden yararlanmak için sürüm numarasını en son sürümle senkronize tutun.
Doğrudan indirme (Maven kullanmak istemezseniz)
Resmi siteden en son JAR dosyasını da indirebilirsiniz: GroupDocs.Search for Java releases.
Lisans edinme
- Ücretsiz deneme: Kütüphaneyi lisans anahtarı olmadan test edin.
- Geçici lisans: Uzatılmış değerlendirme için bir tane isteyin.
- Tam lisans: Üretim dağıtımları için gereklidir.
Temel başlatma
Kütüphanenin doğru yüklendiğini doğrulamak için basit bir Java sınıfı oluşturun:
import com.groupdocs.search.*;
public class DocumentIndexing {
public static void main(String[] args) {
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments");
System.out.println("GroupDocs.Search initialized successfully.");
}
}
Bu programı çalıştırdığınızda, indeks klasörünün hazır olduğunu belirten onay mesajı yazdırılmalıdır.
Belgeleri İndekse Nasıl Eklenir
Adım 1: Bir indeks klasörü oluşturun
Index index = new Index("YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Indexing\\DeleteIndexedDocuments", true);
- İlk argüman, indeks dosyalarının saklanacağı klasördür.
- İkinci argüman (
true), klasör yoksa GroupDocs’un klasörü oluşturmasını ve mevcut bir indeksi otomatik olarak güncellemesini sağlar.
Adım 2: Bir akıştan belge yükleyin ve ekleyin
String filePath = "YOUR_DOCUMENT_DIRECTORY\\English.docx";
DocumentLoader documentLoader = new DocumentLoader(filePath);
Document document = Document.createLazy(DocumentSourceKind.Stream, documentLoader.getDocumentKey(), documentLoader);
Document[] documents = new Document[]{document};
index.add(documents, new IndexingOptions());
DocumentLoader(daha sonra tanımlanacak) dosyayı okur ve benzersiz bir anahtar sağlar.createLazy, büyük dosyaların yalnızca gerektiğinde içerik yüklenerek verimli bir şekilde işlenmesini sağlar.
Dosya sisteminden belgeleri nasıl yüklenir
Aşağıda, diskten herhangi bir dosyayı okuyup baytlarını çıkaran ve indeksleme için hazır bir Document nesnesi oluşturan yeniden kullanılabilir bir yükleyici bulunmaktadır.
class DocumentLoader {
private final String filePath;
private final String documentKey;
public DocumentLoader(String filePath) {
this.filePath = filePath;
documentKey = FilenameUtils.getName(filePath);
}
public String getDocumentKey() { return documentKey; }
public Document loadDocument() throws IOException {
Path path = Paths.get(filePath);
byte[] buffer = Files.readAllBytes(path);
ByteArrayInputStream stream = new ByteArrayInputStream(buffer);
return Document.createFromStream(documentKey, new Date(System.currentTimeMillis()), "." + FilenameUtils.getExtension(filePath), stream);
}
}
Neden önemli: Ayrı bir yükleyici kullanmak, dosya sistemi ile ilgili konuları indeksleme mantığından izole eder, kodunuzu daha temiz ve test etmeyi kolaylaştırır.
İndekste anahtar kelime araması nasıl yapılır
String query = "moment";
SearchResult searchResult1 = index.search(query);
searchmetoduna herhangi bir metin dizesi gönderin ve eşleşen belge kimlikleri, alıntılar ve alaka düzeyi puanlarını içeren birSearchResultalın.
Belgeleri indeks’ten nasıl silinir
String[] documentKeys = new String[]{documentLoader.getDocumentKey()};
DeleteResult deleteResult = index.delete(new UpdateOptions(), documentKeys);
- Silmek istediğiniz belgelerin anahtarlarını sağlayın.
UpdateOptions, silmenin nasıl uygulanacağını (ör. anlık vs. toplu) kontrol etmenizi sağlar.
Silme işlemlerinden sonra indekslenmiş belgeleri nasıl alırsınız
DocumentInfo[] indexedDocuments2 = index.getIndexedDocuments();
- Bu çağrı, indeks içinde hâlâ mevcut olan belgelerin güncel listesini döndürür ve silmelerin başarılı olduğunu doğrulamanıza yardımcı olur.
Pratik Uygulamalar
GroupDocs.Search for Java aşağıdaki senaryolarda öne çıkar:
- Kurumsal belge portalları – çalışanlar politikaları, sözleşmeleri veya kılavuzları saniyeler içinde bulur.
- Hukuki dava yönetimi – avukatlar binlerce PDF ve Word dosyası arasında önceki maddeleri hızlıca bulur.
- Dijital kütüphaneler – üniversiteler araştırma makaleleri ve tezler üzerinde tam metin arama sunar.
Performans Düşünceleri
- Düzenli olarak indeks’i (
index.optimize()) toplu güncellemelerden sonra optimize edin, böylece sorgu hızı yüksek kalır. - Tembel yüklemeyi büyük dosyalar için kullanın, OutOfMemory hatalarını önleyin.
- JVM yığınını belge boyutu dağılımınıza göre ayarlayın; tipik bir kurulum orta ölçekli iş yükleri için
-Xmx2gkullanır.
Yaygın Sorunlar ve Çözümler
| Sorun | Neden | Çözüm |
|---|---|---|
| Sonuç döndürülmedi | Sorgu terimleri indekslenmedi veya durdurma kelimeleri filtrelendi | IndexingOptions‘ı doğrulayın ve durdurma kelimeleri listesini ayarlayın |
| Bellek dışı hatalar | Büyük dosyalar erken yüklendi | Document.createLazy‘a geçin veya JVM yığınını artırın |
| Silinen belgeler hâlâ görünüyor | Silmeden sonra indeks yenilenmedi | index.optimize()‘ı çağırın veya indeks örneğini yeniden açın |
Sıkça Sorulan Sorular
S: PDF, DOCX ve PPTX dosyalarını birlikte indeksleyebilir miyim?
C: Evet, GroupDocs.Search kutudan çıktığı gibi geniş bir format yelpazesini destekler.
S: “İndeksten belgeleri sil” nasıl çalışır?
C: delete metodu, belirtilen belge anahtarları için gönderimleri kaldırır ve iç yapılandırmaları günceller, böylece indeks tam bir yeniden oluşturma olmadan tutarlı kalır.
S: İndeks boyutunu izlemek için bir yol var mı?
C: Belge sayısı, toplam boyut ve diğer faydalı metrikleri almak için index.getStatistics() kullanın.
S: Her silmeden sonra tüm indeksi yeniden oluşturmalı mıyım?
C: Hayır. Silmeler artımlıdır; yalnızca etkilenen girdiler kaldırılır.
S: Şema değişikliğinden sonra tüm dosyaları yeniden indekslemem gerekirse?
C: Farklı bir klasöre işaret eden yeni bir Index örneği oluşturun ve tüm belgeleri tekrar ekleyin.
Sonuç
Artık GroupDocs.Search for Java kullanarak how to index java belgeleri için eksiksiz bir yol haritasına sahipsiniz — ortamı kurmaktan, belgeleri indekse eklemeye, dosya sisteminden yüklemeye, arama yapmaya, silmeye ve indeks içeriğini doğrulamaya kadar. Bu adımları uygulamanıza entegre ederek belge bulunabilirliğini ve genel verimliliği büyük ölçüde artıracaksınız.
Sonraki adımlar:
- Karmaşık sorgularla (joker karakterler, bulanık eşleşme) deney yapın.
- Faceted search, özel analizörler ve meta veri indeksleme gibi gelişmiş özellikleri keşfedin.
İyi indekslemeler!
Son Güncelleme: 2026-03-01
Test Edilen Versiyon: GroupDocs.Search Java 25.4
Yazar: GroupDocs