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
Resource | Requirement |
---|---|
CPU Cores | 4 cores minimum 8 or 16 or 32 cores are required for greater than 5 collections or 25,000 documents |
Memory | 16GB minimum 64GB for a large number of collections/documents |
Java Version | JDK 21.0.X |
Java Memory Settings - SearchBlox | XMS 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 - Elasticsearch | XMS and XMX values are set to 4 GB by default. A maximum of 31 GB can be allocated. |
Operating System / VM / Cloud | Windows 10, 2012, 2016, 2019, 2022 Linux - CentOS, RHEL, Ubuntu, Amazon Linux 2 VMWare / Hyper-V Supported AWS, Azure, Google Cloud Supported |
Disk Space | Minimum 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:
Resource | Requirement |
---|---|
SearchAI ChatBot | 32 CPU 64GB Memory |
Recommended CPU/RAM requirements based on Documents/URLs indexed.
Documents/URLs | SearchBlox Requires | RAM on Server | Processing Power |
---|---|---|---|
0 - 100,000 | 8GB | 16GB | 4 cores |
100,000 - 500,000 | 16GB | 32GB | 8 cores |
500,000 - 1 million | 31GB | 64GB | 16 cores |
1 million + | Cluster Setup | Cluster Setup | Cluster 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:
- Locate the JVM Configuration File:
Navigate to the<SEARCHBLOX_INSTALLATION_PATH>/start.d/jvm.ini
file within the SearchBloxServer folder. - Edit the JVM Options:
Update the -Xmx and -Xms values to allocate more memory if your server has sufficient resources. For example:
-Xmx8g
-Xms8g
- If you have at least 32 GB of RAM, you can increase the allocation to 16 GB:
-Xmx16g
-Xms16g
Updating Memory Allocation for OpenSearch:
- Locate the JVM Configuration File:
Navigate to the <SEARCHBLOX_INSTALLATION_PATH>\opensearch\config\jvm.options file. - 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
Component | Configuration File | Default Setting | Recommended 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
Browser | Version | Compatibility |
---|---|---|
Google Chrome | Chrome 68 and above | Admin Dashboard and Search works well in Chrome browsers. Below version 68 few features might not work |
Mozilla Firefox | Firefox 40 and above | Admin Dashboard and Search works well Below version 40 few features might not work |
Edge | Edge 91 and Above | Admin Dashboard and Search work well |
Safari | Safari 7 and above | Admin Dashboard and Search works well Below version 7 few features might not work |
Opera | Opera 44 and above | Admin 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
Service | Port | Protocol | Purpose |
---|---|---|---|
SearchBlox | 8443 | HTTPS | Accessing Admin Console and search services |
ConnectorsUI | 8446 | HTTPS | Managing connectors and data sources |
OpenSearch | 9200, 9201 | HTTP/HTTPS | Communication with OpenSearch engine |
Cluster | 9300 | TCP | Internal cluster communication |
Multicast | 54327 | UDP | Multicast communication within the cluster |
Hazelcast | 5701 | TCP | Distributed data storage and cluster management |
Zookeeper | 2000-2100 | TCP | Coordination 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.
Updated 6 days ago
You can go through the related sections below