Nakonfigurujte síť GroupDocs.Search v Javě – Zrychlete vyhledávání
V dnešních aplikacích řízených daty je configure groupdocs search network klíčovým krokem k poskytování rychlých a přesných výsledků napříč obrovskými kolekcemi dokumentů. Ať už budujete podnikový vyhledávací portál nebo rozšiřujete existující řešení, dobře nakonfigurovaná síť GroupDocs.Search vám umožní horizontální škálování, přidání podpory synonym a udržení nízké latence. V tomto tutoriálu se naučíte, jak nastavit, nasadit a doladit síť GroupDocs.Search pomocí Javy, plus praktické tipy pro přidávání synonym do indexu a správu životního cyklu uzlů.
Rychlé odpovědi
- Jaký je hlavní přínos konfigurace sítě GroupDocs.Search? Umožňuje distribuované indexování a dotazování, což zlepšuje výkon a škálovatelnost.
- Potřebuji licenci pro spuštění příkladů? Bezplatná zkušební verze funguje pro vývoj; pro produkci je vyžadována komerční licence.
- Lze přidat synonyma bez přestavby indexu? Ano—použijte slovník synonym za běhu k add synonyms to index.
- Kolik uzlů mohu nasadit? Můžete nasadit tolik uzlů, kolik vaše infrastruktura umožňuje; každý uzel běží na vlastním portu.
Co je konfigurace sítě GroupDocs.Search?
Konfigurace sítě GroupDocs.Search znamená definování struktury složek, portů a nastavení uzlů, které umožňují více instancím JVM spolupracovat na indexování a vyhledávání. Toto nastavení vytváří master‑node, který koordinuje pracovníky (shardy) a zajišťuje, že dotazy jsou prováděny napříč celým datasetem.
Proč konfigurovat síť GroupDocs.Search?
- Scalability – Rozdělit zátěž indexování mezi několik strojů.
- Reliability – Uzly lze přidávat nebo odebírat bez výpadku.
- Search relevance – Přidat synonyma do indexu pro bohatší výsledky.
- Performance – Paralelní provádění dotazů snižuje dobu odezvy.
Požadavky
- Java Development Kit (JDK) 8 nebo novější
- Maven pro sestavení projektu
- Základní znalost syntaxe Javy
- Přístup k knihovně GroupDocs.Search for Java (staženo přes Maven nebo oficiální stránku vydání)
Nastavení GroupDocs.Search pro Javu
Přidejte úložiště a závislost do vašeho Maven 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>
Alternativně stáhněte nejnovější verzi přímo z GroupDocs.Search for Java releases.
Získání licence
- Free Trial – Prozkoumejte základní funkce zdarma.
- Temporary License – Odemkněte plnou funkcionalitu pro krátkodobé testování.
- Commercial License – Vyžadováno pro produkční nasazení.
Základní inicializace a nastavení
Vytvořte jednoduchou třídu v Javě pro ověření, že se knihovna načte správně:
import com.groupdocs.search.*;
public class SearchSetup {
public static void main(String[] args) {
// Initialize the index
Index index = new Index("YOUR_INDEX_DIRECTORY");
System.out.println("GroupDocs.Search is ready to use!");
}
}
Průvodce krok za krokem pro konfiguraci sítě GroupDocs.Search
1. Konfigurace vyhledávací sítě
Definujte základní složku dokumentů a počáteční port pro komunikaci uzlů.
import com.groupdocs.search.dictionaries.*;
import com.groupdocs.search.scaling.configuring.*;
public class ConfigureSearchNetwork {
public static void run() {
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ManagingDictionaries/";
int basePort = 49128;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
// Configuration details and setup logic
}
}
- basePath – Kde se nacházejí slovníky (např. soubory synonym).
- basePort – První port; následné uzly se inkrementují od této hodnoty.
2. Nasazení uzlů vyhledávací sítě
Spusťte více pracovních uzlů, které sdílejí stejné nastavení.
import com.groupdocs.search.scaling.*;
public class DeploySearchNetworkNodes {
public static void run() {
String basePath = "YOUR_DOCUMENT_DIRECTORY/AdvancedUsage/Scaling/ManagingDictionaries/";
int basePort = 49128;
Configuration configuration = new Configuration();
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Node deployment logic
}
}
Každý uzel běží na vlastním portu (basePort + index) a drží shard celkového indexu.
3. Přihlášení k událostem uzlu
Sledujte stav, průběh indexování a chybové podmínky připojením posluchače událostí k master‑node.
import com.groupdocs.search.scaling.*;
public class SubscribeToNodeEvents {
public static void run() {
SearchNetworkNode masterNode = new SearchNetworkNode();
SearchNetworkNodeEvents.subscribe(masterNode);
// Event subscription logic
}
}
Zpětné volání událostí vám umožní reagovat na spuštění/ukončení uzlu, dokončení indexování a neočekávané selhání.
4. Přidání synonym do indexeru uzlu
Zvyšte relevanci pomocí add synonyms to index za běhu.
import com.groupdocs.search.dictionaries.*;
import com.groupdocs.search.scaling.*;
public class AddSynonyms {
public static void run(SearchNetworkNode node) {
String[] group = { "efficitur", "tristique", "venenatis" };
boolean clearBeforeAdding = true;
Indexer indexer = node.getIndexer();
int[] indices = node.getShardIndices();
SynonymDictionary dictionary = indexer.getSynonymDictionary(indices[0]);
if (clearBeforeAdding) {
dictionary.clear();
}
dictionary.addRange(new String[][] { group });
indexer.setDictionary(dictionary);
// Synonym addition logic
}
}
- group – Pole termínů, které by měly být považovány za ekvivalenty.
- clearBeforeAdding – Nastavte na
true, pokud chcete nahradit existující položky.
5. Přidání adresářů pro indexování
Informujte master‑node, které složky obsahují dokumenty, které chcete zpřístupnit pro vyhledávání.
import com.groupdocs.search.scaling.*;
import com.groupdocs.search.examples.Utils;
public class AddDirectoriesForIndexing {
public static void run(SearchNetworkNode masterNode) {
String documentsPath = "YOUR_DOCUMENT_DIRECTORY/DocumentsPath";
IndexingDocuments.addDirectories(masterNode, documentsPath);
// Directory addition logic
}
}
- Metoda prohledá adresář rekurzivně a rozděluje soubory mezi shardy.
6. Provádění textového vyhledávání v síti
Spusťte dotaz napříč všemi uzly, volitelně vynutím chování exact‑match.
import com.groupdocs.search.scaling.*;
public class PerformTextSearch {
public static void run(SearchNetworkNode masterNode) {
String query = "tristique";
boolean exactMatchOnly = false;
TextSearchInNetwork.searchAll(masterNode, query, exactMatchOnly);
exactMatchOnly = true;
TextSearchInNetwork.searchAll(masterNode, query, exactMatchOnly);
// Search execution logic
}
}
- Přepněte
exactMatchOnlynatrue, když potřebujete přísné shodování termínů bez stemmingu.
7. Uzavření uzlů sítě
Uvolněte prostředky elegantně po dokončení zpracování.
import com.groupdocs.search.scaling.*;
public class CloseNetworkNodes {
public static void run(SearchNetworkNode[] nodes) {
for (SearchNetworkNode node : nodes) {
node.close();
// Node closure logic
}
}
}
- Správné ukončení zabraňuje únikům paměti a udržuje JVM v dobrém stavu.
Praktické aplikace
| Scenario | How the network helps |
|---|---|
| Enterprise Search | Rozdělit indexování mezi servery v datových centrech pro korpusy v rozsahu petabajtů. |
| Document Management | Přidat synonyma do indexu, aby uživatelé našli dokumenty i při různých termínech. |
| E‑commerce Catalog | Nasadit regionálně specifické uzly pro rychlé poskytování lokalizovaného vyhledávání produktů. |
| Content Management | Udržet obsah vyhledávatelný, zatímco editoři přidávají nové soubory do konkrétních adresářů. |
Časté problémy a řešení
- Port Conflicts – Ujistěte se, že port každého uzlu (basePort + index) je volný; v případě potřeby upravte
basePort. - Synonym Not Applied – Ověřte, že jste po přidání termínů zavolali
indexer.setDictionary(dictionary). - Node Not Responding – Přihlaste se k událostem; hledejte zpětná volání
NodeFailedpro diagnostiku problémů v síti. - Memory Leak on Close – Vždy zavolejte
node.close()pro každý nasazený uzel.
Často kladené otázky
Q: Jak nasazení více uzlů zlepšuje výkon vyhledávání?
A: Každý uzel indexuje shard dat, což umožňuje paralelní zpracování a snižuje latenci dotazů, protože se zátěž sdílí.
Q: Mohu přidat synonyma bez přeindexování existujících dokumentů?
A: Ano, můžete add synonyms to index za běhu pomocí slovníku synonym; změny se projeví okamžitě pro nové dotazy.
Q: Je přihlášení k událostem uzlu povinné?
A: I když to není vyžadováno pro základní provoz, přihlášení k událostem vám poskytuje přehled o stavu uzlu a pomáhá rychle reagovat na selhání.
Q: Jaké jsou osvědčené postupy pro správu zdrojů uzlů?
A: Pravidelně uzavírejte nečinné uzly, monitorujte využití paměti JVM a recyklujte uzly během mimošpičkových hodin, aby byl spotřeba zdrojů optimální.
Q: Podporuje GroupDocs.Search ne‑textové formáty jako PDF nebo obrázky?
A: Rozhodně. Knihovna extrahuje text z PDF, Office souborů a dokonce provádí OCR na obrázcích, takže jsou vyhledávatelné ihned po instalaci.
Poslední aktualizace: 2026-01-16
Testováno s: GroupDocs.Search 25.4 pro Javu
Autor: GroupDocs