Requirements

System Requirements Overview

To ensure optimal performance and scalability for SearchBlox and the SearchAI ChatBot, it is essential to meet the recommended hardware and software requirements. These guidelines are designed to support efficient indexing, searching, and AI-driven interactions based on your document volume and workload demands.

Below, you’ll find detailed specifications for:

  • Minimum and recommended CPU, memory, and disk configurations
  • Java version and memory settings for both SearchBlox and Elasticsearch
  • Supported operating systems and cloud environments
  • Scalable resource allocations based on document volume and collection size
  • Additionally, the SearchAI ChatBot has specific high-performance requirements to handle AI-powered search and conversational responses effectively.

For larger deployments (1 million+ documents), a cluster setup is recommended to maintain speed and reliability. Adjustments may be necessary depending on indexing frequency, query load, and concurrent user activity.
Let’s explore the detailed requirements to ensure your deployment runs smoothly.

Recommended Requirements

ResourceRequirement
CPU Cores4 cores minimum
8 or 16 or 32 cores are required for greater than 5 collections or 25,000 documents
Memory16GB minimum
64GB for a large number of collections/documents
Java VersionJDK 21.0.X
Java Memory Settings - SearchBloxXMS and XMX values are set to 8 GB by default.
16GB for larger document volume or a high number of collections. A maximum of 31 GB can be allocated.
Java Memory Settings - ElasticsearchXMS and XMX values are set to 4 GB by default. A maximum of 31 GB can be allocated.
Operating System / VM / CloudWindows 10, 2012, 2016, 2019, 2022
Linux - CentOS, RHEL, Ubuntu, Amazon Linux 2
VMWare / Hyper-V Supported
AWS, Azure, Google Cloud Supported
Disk SpaceMinimum disk space is 10GB. Disk space should be at least 2-3X the data size that needs to be indexed. If 1 GB of data needs to be indexed, then the minimum disk space should be at least 2 GB.
SSD is recommended.

SearchAI ChatBot Requirements:

ResourceRequirement
SearchAI ChatBot32 CPU
64GB Memory

Recommended CPU/RAM requirements based on Documents/URLs indexed.

Documents/URLsSearchBlox RequiresRAM on ServerProcessing Power
0 - 100,0008GB16GB4 cores
100,000 - 500,00016GB32GB8 cores
500,000 - 1 million31GB64GB16 cores
1 million +Cluster SetupCluster SetupCluster Setup

🚧

Tuning System Requirements

  • CPU and RAM requirements are a recommendation.
  • Requirements may vary based on the volume of documents, number of collections, index frequency and the number of search users.

Memory Tuning for SearchBlox and Opensearch

To optimize the performance of SearchBlox and OpenSearch, you may need to adjust the memory allocation based on your server's available resources. Here’s how to do it:

Default Memory Allocation:

  • SearchBlox: 8 GB RAM
  • OpenSearch: 4 GB RAM
  • Minimum Requirement: 16 GB RAM to run SearchBlox effectively.

Updating Memory Allocation for SearchBlox:

  1. Locate the JVM Configuration File:
    Navigate to the <SEARCHBLOX_INSTALLATION_PATH>/start.d/jvm.ini file within the SearchBloxServer folder.
  2. Edit the JVM Options:
    Update the -Xmx and -Xms values to allocate more memory if your server has sufficient resources. For example:
    -Xmx8g
    -Xms8g
  3. If you have at least 32 GB of RAM, you can increase the allocation to 16 GB:
    -Xmx16g
    -Xms16g

Updating Memory Allocation for OpenSearch:

  1. Locate the JVM Configuration File:
    Navigate to the <SEARCHBLOX_INSTALLATION_PATH>\opensearch\config\jvm.options file.
  2. Edit the JVM Options:
    Update the -Xmx and -Xms values in lines 22 and 23. For example:<SEARCHBLOX_INSTALLATION_PATH>\opensearch\config\jvm.options and updating xms and xmx value in line numbers 22 and 23 as shown below
    -Xmx8g -Xms8g

Summary of Memory Allocation

ComponentConfiguration FileDefault SettingRecommended Setting (for 32GB RAM)
SearchBlox<SEARCHBLOX_INSTALLATION_PATH>/start.d/jvm.ini-Xmx8g
-Xms8g
-Xmx16g
-Xms16g
OpenSearch<SEARCHBLOX_INSTALLATION_PATH>\opensearch\config\jvm.options-Xmx4g
-Xms4g
-Xmx8g
-Xms8g

Restart the SearchBlox Service. After making these changes, restart the SearchBlox service to apply the new memory settings.


Browser Compatibility

BrowserVersionCompatibility
Google ChromeChrome 68 and aboveAdmin Dashboard and Search works well in Chrome browsers.
Below version 68 few features might not work
Mozilla FirefoxFirefox 40 and aboveAdmin Dashboard and Search works well
Below version 40 few features might not work
EdgeEdge 91 and AboveAdmin Dashboard and Search work well
SafariSafari 7 and aboveAdmin Dashboard and Search works well
Below version 7 few features might not work
OperaOpera 44 and aboveAdmin Dashboard and Search works well
Below version 44 few features might not work

Secure Ports used by SearchBlox

SearchBlox uses specific ports for secure communication and internal operations. Below is a breakdown of the ports used:

Public Ports:

  • SearchBlox:
    Port: 8443
    Protocol: HTTPS
    Purpose: Used for accessing the SearchBlox Admin Console and search services securely.
  • ConnectorsUI:
    Port: 8446
    Protocol: HTTPS
    Purpose: Used for managing connectors and data source integrations securely.

Ports for Internal Server or Network Access:

  • OpenSearch:
    Ports: 9200 & 9201
    Purpose: Used for communication with the OpenSearch search engine, which powers the search functionality.
  • Cluster:
    Port: 9300
    Purpose: Used for internal communication between nodes in a SearchBlox cluster.
  • Multicast:
    Port: 54327
    Purpose: Used for multicast communication within the cluster.
  • Hazelcast:
    Port: 5701
    Purpose: Used for distributed data storage and cluster management.
  • Zookeeper:
    Port Range: 2000-2100
    Purpose: Used for coordination and synchronization services within the cluster.

Summary of Ports used

ServicePortProtocolPurpose
SearchBlox8443HTTPSAccessing Admin Console and search services
ConnectorsUI8446HTTPSManaging connectors and data sources
OpenSearch9200, 9201HTTP/HTTPSCommunication with OpenSearch engine
Cluster9300TCPInternal cluster communication
Multicast54327UDPMulticast communication within the cluster
Hazelcast5701TCPDistributed data storage and cluster management
Zookeeper2000-2100TCPCoordination and synchronization services

Important Notes:

  • Ensure that these ports are properly secured and only accessible to authorized systems and users.
  • Configure firewalls to allow traffic on these ports for internal communication while restricting access to public ports as needed.
  • Ensure that the network configuration supports the required communication between cluster nodes and services.
  • Ensure your server has enough physical memory to accommodate the increased allocation.
  • Monitor the system performance after making changes to ensure optimal operation.
  • Always back up configuration files before making changes.

By understanding and configuring these ports correctly, you can ensure secure and efficient operation of your SearchBlox deployment.