Jak skonfigurować wyszukiwanie przy użyciu GroupDocs.Search w Javie
W dzisiejszym szybko zmieniającym się świecie cyfrowym, jak skonfigurować wyszukiwanie efektywnie może decydować o sukcesie projektu. Niezależnie od tego, czy obsługujesz tysiące umów, prac badawczych czy wewnętrznych raportów, dobrze zaprojektowana sieć wyszukiwania pozwala znaleźć właściwy dokument w kilka sekund. Ten samouczek przeprowadzi Cię przez konfigurowanie sieci wyszukiwania, wdrażanie węzłów oraz włączanie aktualizacji wyszukiwania w czasie rzeczywistym z GroupDocs.Search dla Javy.
Szybkie odpowiedzi
- Jaki jest podstawowy cel sieci wyszukiwania? Aby rozłożyć indeksowanie i przetwarzanie zapytań na wiele węzłów w celu skalowalności i szybkości.
- Która wersja biblioteki jest wymagana? GroupDocs.Search for Java v25.4 lub nowsza.
- Czy potrzebna jest licencja? Darmowa wersja próbna działa w celach ewaluacyjnych; licencja komercyjna jest wymagana w środowisku produkcyjnym.
- Jak obsługiwane są aktualizacje w czasie rzeczywistym? Poprzez subskrypcję zdarzeń węzła, które wyzwalane są przy zmianach indeksowania.
- Czy mogę dodawać nowe foldery dokumentów w locie? Tak — użyj metody
addDirectoriesindeksera.
Co oznacza „jak skonfigurować wyszukiwanie” w kontekście GroupDocs?
Konfigurowanie wyszukiwania oznacza utworzenie sieci wyszukiwania, która wie, gdzie znajdują się Twoje dokumenty, jak węzły się komunikują i jak koordynowane jest indeksowanie. Po skonfigurowaniu sieci możesz dodawać lub usuwać węzły bez przestojów, zapewniając ciągły dostęp do aktualnych wyników wyszukiwania.
Dlaczego używać GroupDocs.Search dla Javy?
- Skalowalność: Rozdzielaj obciążenia na wiele maszyn.
- Aktualizacje w czasie rzeczywistym: Natychmiast odzwierciedlaj nowo zaindeksowane pliki w całej sieci.
- Łatwość integracji: Prosta konfiguracja Maven i przejrzyste API Javy.
- Gotowość dla przedsiębiorstw: Obsługuje duże korpusy i złożone scenariusze zapytań.
Wymagania wstępne
- Java Development Kit (JDK) 8+ zainstalowany.
- Maven do zarządzania zależnościami.
- Podstawowa znajomość Javy, Maven oraz koncepcji wyszukiwania.
Konfiguracja GroupDocs.Search dla Javy
Zależność Maven
Add the repository and dependency to your 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>
Bezpośrednie pobranie: Możesz również pobrać bibliotekę z GroupDocs.Search for Java releases.
Uzyskiwanie licencji
- Free Trial: Uzyskaj licencję próbną, aby wypróbować wszystkie funkcje.
- Temporary License: Poproś o tymczasową licencję na dłuższy okres oceny.
- Commercial License: Wymagana w środowiskach produkcyjnych.
Podstawowa inicjalizacja
import com.groupdocs.search.Configuration;
// Initialize configuration with your document path and port
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;
Configuration config = new Configuration(basePath, basePort);
Jak skonfigurować sieć wyszukiwania w Javie
Krok 1: Importuj wymagane pakiety
import com.groupdocs.search.scaling.ConfiguringSearchNetwork;
import com.groupdocs.search.scaling.Configuration;
Krok 2: Skonfiguruj sieć
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/GettingDocumentsInNetwork/";
int basePort = 49112;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
- Parameters:
basePathwskazuje na folder z dokumentami;basePortto port TCP używany do komunikacji między węzłami.
Wdrażanie węzłów sieci wyszukiwania
Krok 1: Importuj pakiet wdrożeniowy
import com.groupdocs.search.scaling.SearchNetworkDeployment;
import com.groupdocs.search.scaling.SearchNetworkNode;
Krok 2: Wdroż węzły
String[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
SearchNetworkNode masterNode = nodes[0]; // Designate the first node as the master node
- Master Node: Koordynuje wyszukiwania i indeksowanie we wszystkich węzłach. Możesz skonfigurować ustawienia master node takie jak przydział shardów i kontrole zdrowia.
Subskrypcja zdarzeń węzła dla aktualizacji wyszukiwania w czasie rzeczywistym
Krok 1: Importuj pakiet zdarzeń
import com.groupdocs.search.scaling.SearchNetworkNodeEvents;
Krok 2: Subskrybuj zdarzenia master node
SearchNetworkNodeEvents.subscribe(masterNode);
- Event Handling: Umożliwia aktualizacje wyszukiwania w czasie rzeczywistym za każdym razem, gdy dokumenty są dodawane, aktualizowane lub usuwane.
Dodawanie katalogów do indeksowania
Krok 1: Importuj pakiet indeksera
import com.groupdocs.search.examples.Utils;
import com.groupdocs.search.scaling.Indexer;
Krok 2: Dodaj katalogi dokumentów
Indexer indexer = masterNode.getIndexer();
indexer.addDirectories("YOUR_DOCUMENT_DIRECTORY/DocumentsPath");
- Dynamic Indexing: Użyj metody
addDirectories, aby dodać katalogi do indeksu w locie bez ponownego uruchamiania sieci.
Pobieranie zaindeksowanych dokumentów
Krok 1: Importuj pakiet wyszukiwarki
import com.groupdocs.search.scaling.Searcher;
import com.groupdocs.search.scaling.NetworkDocumentInfo;
Krok 2: Pobierz informacje o dokumencie
Searcher searcher = masterNode.getSearcher();
int[] shardIndices = masterNode.getShardIndices();
for (int i = 0; i < shardIndices.length; i++) {
int shardIndex = shardIndices[i];
NetworkDocumentInfo[] infos = searcher.getIndexedDocuments(shardIndex);
for (NetworkDocumentInfo info : infos) {
int nodeIndex = masterNode.getNodeIndex(info.getShardIndex());
String filePath = info.getDocumentInfo().getFilePath();
// Retrieve and process document attributes
String[] attributes = indexer.getAttributes(filePath);
NetworkDocumentInfo[] items = searcher.getIndexedDocumentItems(info);
for (NetworkDocumentInfo item : items) {
// Process each indexed item
}
}
}
- Shard Management: Efektywnie obsługuje duże zestawy danych, rozdzielając dokumenty na shardy. Aby optymalizować rozmiar sharda, monitoruj statystyki shardów i dostosuj konfigurację
shardSizew przyszłych wersjach.
Dlaczego to ma znaczenie dla Twojego projektu
Poprawnie skonfigurowana sieć wyszukiwania eliminuje wąskie gardła, zmniejsza opóźnienia i zapewnia, że użytkownicy zawsze widzą najnowszą wersję dokumentu. Aktualizacje w czasie rzeczywistym oraz możliwość dodawania katalogów do indeksu bez przestojów są szczególnie cenne dla kancelarii prawnych, instytucji badawczych i każdej organizacji, która pracuje z nieustannie zmieniającymi się zbiorami dokumentów.
Praktyczne zastosowania
- Enterprise Document Management: Centralizuj wyszukiwanie wśród milionów plików.
- Legal Firms: Szybko znajdź akta spraw, umowy i dowody.
- Academic Research: Indeksuj czasopisma i artykuły w celu natychmiastowego pobierania.
Rozważania dotyczące wydajności
- Optimize Indexing: Planuj regularne odświeżanie indeksu i usuwanie przestarzałych danych.
- Memory Management: Monitoruj stertę JVM, szczególnie przy obsłudze dużych shardów.
- Scalability Planning: Dodawaj węzły w miarę wzrostu korpusu; sieć automatycznie równoważy obciążenie.
- Optimize shard size: Mniejsze shardy poprawiają opóźnienie zapytań, większe shardy zmniejszają narzut. Dostosuj w zależności od sprzętu i wzorców zapytań.
Typowe problemy i rozwiązania
| Problem | Przyczyna | Rozwiązanie |
|---|---|---|
| Węzły nie mogą się połączyć | Konflikt portów lub zapora sieciowa | Upewnij się, że basePort jest otwarty i nie jest używany przez inne usługi |
| Indeks nie aktualizuje się | Brak subskrypcji zdarzeń | Wywołaj SearchNetworkNodeEvents.subscribe(masterNode) po wdrożeniu |
| Błędy braku pamięci | Załadowano zbyt wiele dużych shardów | Zmniejsz rozmiar sharda lub zwiększ stertę JVM (flaga -Xmx) |
Najczęściej zadawane pytania
Q: Czy mogę dodać nowe katalogi po uruchomieniu sieci?
A: Tak — użyj metody indexer.addDirectories(); subskrybowane zdarzenia będą propagować aktualizacje w czasie rzeczywistym.
Q: Jak monitorować stan zdrowia węzła?
A: Każdy SearchNetworkNode udostępnia API statusu; zintegrować z wybranym narzędziem monitorującym.
Q: Czy można uruchomić master node na osobnym komputerze?
A: Oczywiście. Wystarczy, aby wszystkie węzły używały tego samego basePort i mogły się ze sobą komunikować w sieci.
Q: Jakie formaty plików są obsługiwane?
A: GroupDocs.Search obsługuje PDF‑y, Word, Excel, PowerPoint, zwykły tekst i wiele innych od razu po instalacji.
Q: Czy muszę restartować sieć po dodaniu nowego węzła?
A: Nie — węzły mogą być dodawane lub usuwane dynamicznie; master node automatycznie zrównoważy shardy.
Zakończenie
Teraz, gdy wiesz jak skonfigurować wyszukiwanie przy użyciu GroupDocs.Search dla Javy, możesz tworzyć szybkie, skalowalne i niezawodne rozwiązania wyszukiwania dokumentów, które nadążają za rozwojem Twojej organizacji. Zastosuj te wzorce, aby stworzyć doświadczenia wyszukiwania w czasie rzeczywistym i rozproszone w każdej branży.
Ostatnia aktualizacja: 2026-05-02
Testowano z: GroupDocs.Search for Java 25.4
Autor: GroupDocs