Configuration Guide
hlquery uses hlquery.conf as the primary runtime configuration file. Its location depends on the install layout chosen during ./configure.
llm.conf is deprecated. Keep runtime settings in hlquery.conf.
Configuration Files Overview
The configuration files below are the ones you will use most often:
| File | Purpose | Location |
|---|---|---|
| hlquery.conf | Main server configuration (including auth/users/links/search) | run/conf/hlquery.conf (dev) or /etc/hlquery/hlquery.conf (system/debian/rpm) |
| IP Filtering | IP allow-listing, DNS resolution behavior, and connection filtering | Configured inside hlquery.conf via <allow ...> |
| database.conf | RocksDB storage engine configuration (optional split file) | run/conf/database.conf (dev) or /etc/hlquery/database.conf |
| search.conf | Search tuning reference / optional split file | run/conf/search.conf (dev) or /etc/hlquery/search.conf |
| users.conf | Legacy auth layout reference | run/conf/users.conf (dev) or /etc/hlquery/users.conf |
Typical locations:
run/conf/
/etc/hlquery/
hlquery.confis the source of truth for runtime behavior. Split files remain available for legacy layouts.
Quick Start
For most deployments, defaults are a good starting point. You will usually customize:
- Logging: log levels and output destinations
- Network: ports, bind addresses, and HTTPS
- Authentication: access control and user setup
- Performance: thread and cache-related settings
Configuration Format
hlquery uses an XML-like format:
<log method="file" type="*" level="debug" target="/path/to/logfile.log">
<server name="hlquery.local" id="001">
<bind address="0.0.0.0" port="9200" type="http">
Detailed Configuration Pages
Main Server Configuration
hlquery.conf - Main server configuration:
- Logging configuration (levels, types, methods)
- Server identity
- Network bindings (HTTP/HTTPS)
- Performance settings (thread limits)
- Configuration includes
- IP filtering
Search Algorithm Configuration
search.conf - Search algorithm configuration:
- Algorithm selection (BM25, BM25+, TF-IDF, Hybrid)
- Ranking parameters (k1, b, delta)
- Advanced search improvements (adaptive k1, temporal BM25++, etc.)
- Performance settings (caching, timeouts)
- Query processing settings
RocksDB Storage Engine Configuration
database.conf - RocksDB storage engine configuration:
- MemTable settings (size, count)
- SSTable settings (size, levels)
- Compression settings
- Background operations (compaction, flushing)
- Bloom filters and block cache
- WAL (Write-Ahead Log) options
User Authentication Configuration
hlquery.conf - Authentication and users:
- Enable/disable authentication (
<auth enabled="...">) - Define user tokens or passwords (
<user ...>) - Control user/admin flags
- API-level auth behavior (
Authorization: Bearer,X-API-Key, and HTTP Basic)
Common Configuration Tasks
Change Server Port
Edit hlquery.conf in your active config directory:
<bind address="0.0.0.0" port="9200" type="http">
Change port="9200" to your desired port.
Enable Authentication
Edit hlquery.conf in your active config directory:
<auth enabled="true">
Adjust Logging
Edit hlquery.conf in your active config directory:
<log method="file" type="*" level="normal" target="/var/log/hlquery/hlquery.log" />
Tune Performance
Edit hlquery.conf in your active config directory:
<threads max="8" search="4" io="2">
Important Notes
Note: Some changes (like port numbers) may require a server restart.
Security Note: Use strong, unique tokens in production.
Next Steps
- Read hlquery.conf for server settings and auth/users setup
- Read IP Filtering for allow-listing and DNS-based filtering
- Read database.conf for storage optimization
- Read search.conf for advanced search tuning
- Read users.conf for legacy auth migration notes