Dodawanie dokumentów do indeksu z wyszukiwaniem opartym na fragmentach w Javie

W dzisiejszym świecie napędzanym danymi, możliwość dodawania dokumentów do indeksu szybko oraz wykonywania wyszukiwań opartych na fragmentach jest niezbędna dla każdej aplikacji obsługującej duże kolekcje plików. Niezależnie od tego, czy pracujesz z umowami prawnymi, archiwami wsparcia klienta, czy ogromnymi bibliotekami badań, ten samouczek pokaże Ci dokładnie, jak skonfigurować GroupDocs.Search dla Javy, aby efektywnie indeksować dokumenty i pobierać istotne informacje w małych fragmentach.

Czego się nauczysz

  • Jak utworzyć indeks wyszukiwania w określonym folderze.
  • Kroki do dodawania dokumentów do indeksu z wielu lokalizacji.
  • Konfigurowanie opcji wyszukiwania, aby włączyć wyszukiwanie oparte na fragmentach.
  • Wykonywanie początkowego i kolejnych wyszukiwań opartych na fragmentach.
  • Przykłady zastosowań, w których wyszukiwanie oparte na fragmentach wyróżnia się w praktyce.

Szybkie odpowiedzi

  • Jaki jest pierwszy krok? Utwórz folder indeksu wyszukiwania.
  • Jak dodać wiele plików? Użyj index.add() dla każdego folderu dokumentów.
  • Która opcja włącza wyszukiwanie fragmentów? options.setChunkSearch(true).
  • Czy mogę kontynuować wyszukiwanie po pierwszym fragmencie? Tak, wywołaj index.searchNext() z tokenem.
  • Czy potrzebna jest licencja? Darmowa wersja próbna lub tymczasowa licencja wystarczy do rozwoju; pełna licencja jest wymagana w produkcji.

Wymagania wstępne

Aby skorzystać z tego przewodnika, upewnij się, że masz:

  • Wymagane biblioteki: GroupDocs.Search dla Javy 25.4 lub nowsza.
  • Środowisko: Zainstalowany kompatybilny Java Development Kit (JDK).
  • Wiedza wstępna: Podstawowa znajomość programowania w Javie oraz Maven.

Konfiguracja GroupDocs.Search dla Javy

Aby rozpocząć, zintegrować GroupDocs.Search z projektem przy użyciu Maven:

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

Alternatywnie, pobierz najnowszą wersję z GroupDocs.Search for Java releases.

Uzyskanie licencji

Aby wypróbować GroupDocs.Search:

  • Darmowa wersja próbna – testuj podstawowe funkcje bez zobowiązań.
  • Tymczasowa licencja – przedłużony dostęp do rozwoju.
  • Zakup – pełna licencja do użytku produkcyjnego.

Podstawowa inicjalizacja i konfiguracja

Utwórz indeks w folderze, w którym mają znajdować się dane do przeszukiwania:

import com.groupdocs.search.*;

public class CreateIndex {
    public static void main(String[] args) {
        String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
        // Creating an index in the specified folder
        Index index = new Index(indexFolder);
    }
}

Jak dodać dokumenty do indeksu

Teraz, gdy indeks istnieje, następnym logicznym krokiem jest dodawanie dokumentów do indeksu z lokalizacji, w których przechowywane są Twoje pliki.

1. Tworzenie indeksu

Przegląd: Skonfiguruj katalog dla indeksu wyszukiwania.

String indexFolder = "YOUR_DOCUMENT_DIRECTORY\\output\\AdvancedUsage\\Searching\\SearchByChunks";
Index index = new Index(indexFolder);

2. Dodawanie dokumentów do indeksu

Przegląd: Pobierz pliki z kilku folderów źródłowych.

String documentsFolder1 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder2 = "YOUR_DOCUMENT_DIRECTORY";
String documentsFolder3 = "YOUR_DOCUMENT_DIRECTORY";
index.add(documentsFolder1);
index.add(documentsFolder2);
index.add(documentsFolder3);

3. Konfigurowanie opcji wyszukiwania dla fragmentów

Włącz wyszukiwanie oparte na fragmentach, modyfikując obiekt opcji.

SearchOptions options = new SearchOptions();
options.setChunkSearch(true);

4. Wykonywanie początkowego wyszukiwania opartego na fragmentach

Uruchom pierwsze zapytanie przy użyciu opcji włączających fragmenty.

String query = "invitation";
SearchResult result = index.search(query, options);

5. Kontynuowanie wyszukiwania opartego na fragmentach

Iteruj przez pozostałe fragmenty, aż wyszukiwanie zostanie zakończone.

while (result.getNextChunkSearchToken() != null) {
    result = index.searchNext(result.getNextChunkSearchToken());
}

Dlaczego używać wyszukiwania opartego na fragmentach?

Wyszukiwanie oparte na fragmentach dzieli ogromne kolekcje dokumentów na zarządzalne części, zmniejszając obciążenie pamięci i przyspieszając czasy odpowiedzi. Jest to szczególnie przydatne, gdy:

  1. Zespoły prawne muszą odnaleźć konkretne klauzule w tysiącach umów.
  2. Portale wsparcia klienta muszą natychmiast wyświetlać odpowiednie artykuły bazy wiedzy.
  3. Badacze przeszukują rozległe zestawy danych bez ładowania całych plików do pamięci.

Rozważania dotyczące wydajności

  • Zarządzanie pamięcią – Przydziel wystarczającą przestrzeń sterty (-Xmx) dla dużych indeksów.
  • Monitorowanie zasobów – Śledź zużycie CPU podczas indeksowania i operacji wyszukiwania.
  • Utrzymanie indeksu – Okresowo przebudowuj lub czyszcz indeks, aby usunąć przestarzałe dane.

Częste problemy i rozwiązywanie problemów

ProblemDlaczego się pojawiaRozwiązanie
OutOfMemoryError podczas indeksowaniaZbyt mały rozmiar stertyZwiększ stertę JVM (-Xmx2g lub więcej)
Brak wynikówToken fragmentu nie został przetworzonyUpewnij się, że pętla while działa aż do getNextChunkSearchToken() równego null
Wolne działanie wyszukiwaniaIndeks nie jest zoptymalizowanyUruchom index.optimize() po masowych dodatkach

Najczęściej zadawane pytania

Q: Czym jest wyszukiwanie oparte na fragmentach?
A: Wyszukiwanie oparte na fragmentach dzieli zestaw danych na mniejsze części, umożliwiając efektywne zapytania na dużych wolumenach bez ładowania całych dokumentów do pamięci.

Q: Jak zaktualizować mój indeks o nowe pliki?
A: Po prostu wywołaj index.add() z ścieżką do nowych dokumentów; indeks automatycznie je uwzględni.

Q: Czy GroupDocs.Search obsługuje różne formaty plików?
A: Tak, obsługuje PDF, DOCX, XLSX, PPTX i wiele innych popularnych formatów.

Q: Jakie są typowe wąskie gardła wydajności?
A: Ograniczenia pamięci i nieoptymalne indeksy są najczęstsze; przydziel wystarczającą stertę i regularnie optymalizuj indeks.

Q: Gdzie mogę znaleźć bardziej szczegółową dokumentację?
A: Odwiedź oficjalną GroupDocs.Search Documentation po szczegółowe przewodniki i odniesienia API.

Zasoby


Ostatnia aktualizacja: 2025-12-19
Testowano z: GroupDocs.Search 25.4 for Java
Autor: GroupDocs