Jak dodać dokumenty do indeksu przy użyciu indeksowania metadanych w Javie z GroupDocs.Search

Szybkie odpowiedzi

  • Jaki jest główny cel indeksowania metadanych? Umożliwia szybkie wyszukiwanie oparte na właściwościach dokumentu, a nie na pełnym tekście.
  • Która metoda dodaje pliki do indeksu? index.add(YOUR_DOCUMENTS_FOLDER);
  • Czy mogę wyszukiwać po własnych polach metadanych? Tak, po zaindeksowaniu pól można je bezpośrednio zapytać.
  • Czy potrzebna jest licencja do rozwoju? Tymczasowa licencja próbna wystarczy do oceny; pełna licencja jest wymagana w produkcji.
  • Jaka wersja Javy jest wymagana? Zalecany JDK 8 lub wyższy.

Czym jest indeksowanie metadanych w GroupDocs.Search?

Indeksowanie metadanych wyodrębnia i przechowuje atrybuty dokumentów (np. autor, data utworzenia, własne tagi) w strukturze przeszukiwalnej. Gdy dodajesz dokumenty do indeksu, silnik zapisuje te atrybuty, umożliwiając precyzyjne zapytania typu „znajdź wszystkie PDFy autorstwa John Doe”.

Dlaczego warto używać GroupDocs.Search do indeksowania metadanych?

  • Wydajność: Wyszukiwania metadanych są lekkie i zwracają wyniki w milisekundach.
  • Elastyczność: Obsługuje szeroką gamę formatów plików (PDF, DOCX, PPT itp.).
  • Skalowalność: Obsługuje miliony dokumentów przy minimalnym zużyciu pamięci.

Wymagania wstępne

  • GroupDocs.Search for Java ≥ 25.4.
  • Zainstalowany i skonfigurowany JDK 8 lub nowszy.
  • Podstawowa znajomość Javy i Maven.

Konfiguracja GroupDocs.Search dla Javy

Instrukcje instalacji

Dodaj repozytorium GroupDocs i zależność do swojego 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>

Możesz także pobrać najnowsze pliki binarne bezpośrednio z GroupDocs.Search for Java releases.

Uzyskanie licencji

Aby uzyskać tymczasową licencję do testów:

  1. Odwiedź stronę GroupDocs i przejdź do sekcji Purchase.
  2. Wybierz plan temporary license, który odpowiada Twoim potrzebom oceny.

Implementacja krok po kroku

Funkcja 1: Konfiguracja ustawień indeksu

Skonfiguruj indeks, aby skupiał się na metadanych:

import com.groupdocs.search.IndexSettings;
import com.groupdocs.search.IndexType;

// Initialize index settings
IndexSettings settings = new IndexSettings();
settings.setIndexType(IndexType.MetadataIndex);  // Focus on metadata indexing
  • setIndexType(IndexType.MetadataIndex) informuje silnik, aby priorytetowo traktował metadane zamiast pełnego tekstu.

Funkcja 2: Tworzenie indeksu w określonym folderze

Utwórz fizyczny katalog indeksu, w którym będą przechowywane wszystkie metadane:

import com.groupdocs.search.Index;

String YOUR_INDEX_DIRECTORY = "YOUR_DOCUMENT_DIRECTORY\\\\output\\\\AdvancedUsage\\\\Indexing\\\\IndexingMetadataOfDocuments";

// Create index in specified directory using settings
Index index = new Index(YOUR_INDEX_DIRECTORY, settings);

Zastąp YOUR_DOCUMENT_DIRECTORY ścieżką pasującą do struktury Twojego projektu.

Funkcja 3: Jak dodać dokumenty do indeksu

Teraz, gdy indeks istnieje, możesz dodać dokumenty do indeksu, aby stały się przeszukiwalne:

String YOUR_DOCUMENTS_FOLDER = "YOUR_DOCUMENT_DIRECTORY";

// Add all documents in directory to the index
index.add(YOUR_DOCUMENTS_FOLDER);

Wskazówki:

  • Zweryfikuj, czy ścieżka folderu jest poprawna i aplikacja ma uprawnienia do odczytu.
  • GroupDocs.Search automatycznie wyodrębnia obsługiwane metadane z każdego pliku.

Funkcja 4: Wyszukiwanie dokumentów po metadanych

Uruchom zapytanie skierowane do pól metadanych, na przykład wyszukując dokumenty, w których język to angielski:

import com.groupdocs.search.results.SearchResult;

String query = "English";  // Define search query
SearchResult result = index.search(query);  // Perform the search

// Process results (example)
for (int i = 0; i < result.getDocumentCount(); i++) {
    System.out.println("Found document: " + result.getFoundDocument(i).getFilePath());
}
  • search(query) przeszukuje zaindeksowane metadane i zwraca pasujące dokumenty.

Praktyczne zastosowania

  1. Enterprise Document Management: Pobieraj umowy według daty kontraktu lub nazwiska sygnatariusza.
  2. Digital Library Catalogs: Pozwól użytkownikom przeglądać książki według gatunku, roku publikacji lub autora.
  3. CRM Systems: Szybko lokalizuj pliki klientów używając własnych metadanych, takich jak ID klienta lub region.

Rozważania dotyczące wydajności

  • Aktualizacje przyrostowe: Użyj index.addOrUpdate() dla nowych lub zmienionych plików zamiast przebudowywać cały indeks.
  • Dostosowanie pamięci: Dostosuj rozmiar sterty JVM (-Xmx) w zależności od objętości zaindeksowanych metadanych.
  • Optymalizacja przechowywania: Okresowo wywołuj index.optimize(), aby skompaktować indeks i przyspieszyć zapytania.

Typowe problemy i rozwiązania

ProblemRozwiązanie
Brak zwróconych wynikówPotwierdź, że oczekiwane pola metadanych rzeczywiście znajdują się w plikach źródłowych.
Błędy uprawnieńUpewnij się, że proces Java ma dostęp do odczytu zarówno do folderu z dokumentami, jak i do katalogu indeksu.
Błędy pamięci (Out‑of‑memory)Zwiększ rozmiar sterty JVM lub podziel operację add na mniejsze partie.

Najczęściej zadawane pytania

Q: Czym jest indeksowanie metadanych?
A: Indeksowanie metadanych przechowuje atrybuty dokumentów (autor, tytuł, własne tagi) w strukturze przeszukiwalnej, umożliwiając szybkie odnajdywanie bez skanowania pełnego tekstu.

Q: Jak uzyskać tymczasową licencję?
A: Odwiedź stronę zakupu GroupDocs i postępuj zgodnie z instrukcjami, aby uzyskać licencję próbną.

Q: Czy mogę indeksować pliki PDF przy tej konfiguracji?
A: Tak, GroupDocs.Search obsługuje PDF, DOCX, PPT i wiele innych formatów.

Q: Jakie są typowe problemy przy dodawaniu dokumentów?
A: Sprawdź poprawność ścieżek plików i upewnij się, że aplikacja ma uprawnienia do odczytu katalogów.

Q: Jak zoptymalizować wydajność wyszukiwania?
A: Regularnie aktualizuj indeks, używaj przyrostowych dodawań i dostosowuj ustawienia pamięci JVM.

Zasoby


Ostatnia aktualizacja: 2026-01-06
Testowano z: GroupDocs.Search Java 25.4
Autor: GroupDocs