Obelix ¶
Obelix Personalization Search Engine
Quickstart¶
Installation¶
The installation is as simple as downloading the jar file Note: This jar-file require java8 to be installed.
wget http://obelix.io/obelix.jar
Usage¶
Using Obelix can be as little effort as calling java -jar obelix.jar
.
However, for most projects it is required to configure more options.
java -jar obelix.jar
# Configure where to store the graph database, the default location is the same folder as the jar file
--neo4jstore /path/to/store/graph.db
# Set a maximum number of relationships per node, this will remove the oldest when the limit is reached
--max-relationships 100
# Set the number of workers to read from the log queue
--workers 1
# Set the name of the redis queue to look for new log entries
--redis-queue-name logentries
# Set the http port for the Obelix HTTP API
--web-port 4000
# Set the recommendations depth, this means how deep the graph will be traversed
--recommendation-depth 3
# Set Obelix in batch import mode, this means that it will import all entries in the logentries queue very effeciently. However, it does not handles duplicates.
--batch-import-all
# Tell Obelix to rebuild all recommendations
--build-cache-for-all-users-on-startup
# Enable Metrics
--enable-metrics
Running Obelix as a Daemon (background service) on Ubuntu 14.04¶
In a production environment it is wise to run Obelix as a background service. You can do this easily by using supervisor.
To set up supervisor, first you need to install the package
sudo apt-get install supervisor
Then you need to create a configuration file named /etc/supervisor/conf.d/obelix.conf with the following content
[program:obelix]
user = someUserWithAccessToTheDirectory
autostart = true
autorestart = true
command = java -jar /mnt/obelix/obelix.jar --option1 value1 --option2 value2...
stdout_logfile = /var/log/obelix.log
stderr_logfile = /var/log/obelix.error.log
Then you simply restart the supervisor service
sudo service supervisor restart
Then you can tail the log to see that Obelix is running
sudo tail -f /var/log/obelix.log
sudo tail -f /var/log/obelix.error.log
Recommended JVM settings¶
For Obelix to perform well, it is recommended to enable the -XX:+UseConcMarkSweepGC
option on the JVM.
It is also recommended to set your -Xmx
and Xms
settings to apropriate values for your host.
An example of a configuration may be:
java -Xmx5000m -Xms5000m -XX:+UseConcMarkSweepGC -jar /mnt/obelix/obelix.jar --neo4jstore /mnt/obelix/graph.db