@@ -, +, @@ --- Makefile.PL | 37 ++++++++++++++++++++++++++++++++++ debian/templates/koha-conf-site.xml.in | 4 ++-- etc/koha-conf.xml | 4 ++-- rewrite-config.PL | 3 +++ 4 files changed, 44 insertions(+), 4 deletions(-) --- a/Makefile.PL +++ a/Makefile.PL @@ -228,6 +228,16 @@ Directory for Zebra's data files. Directory for Zebra's UNIX-domain sockets. +=item ELASTICSEARCH_SERVERS + +Server:port of the Elasticsearch server to use, as a comma separated list: +eg. 192.168.0.100:9200, localhost:9200 + +=item ELASTICSEARCH_INDEX + +Unique index in Elasticsearch, for this Koha-instance +eg. koha-mykoha or just koha + =item MISC_DIR Directory for for miscellaenous scripts, among other @@ -488,6 +498,9 @@ my %config_defaults = ( 'MEMCACHED_SERVERS' => '127.0.0.1:11211', 'MEMCACHED_NAMESPACE' => 'KOHA', 'TEMPLATE_CACHE_DIR' => '/tmp/koha', + 'USE_ELASTICSEARCH' => 'no', + 'ELASTICSEARCH_SERVERS' => 'localhost:9200', + 'ELASTICSEARCH_INDEX' => 'koha', 'FONT_DIR' => '/usr/share/fonts/truetype/ttf-dejavu' ); @@ -518,6 +531,7 @@ my %valid_config_values = ( 'ZEBRA_TOKENIZER' => { chr => 1, icu => 1 }, 'RUN_DATABASE_TESTS' => { 'yes' => 1, 'no' => 1 }, 'USE_MEMCACHED' => { 'yes' => 1, 'no' => 1 }, + 'USE_ELASTICSEARCH' => { 'yes' => 1, 'no' => 1 }, ); # get settings from command-line @@ -1199,6 +1213,29 @@ Memcached namespace?); $config{'MEMCACHED_NAMESPACE'} = _get_value('MEMCACHED_NAMESPACE', $msg, $defaults->{'MEMCACHED_NAMESPACE'}, $valid_values, $install_log_values); } + + $msg = q( +Use Elasticsearch to serve search results? +You will need a Elasticsearch server running.); + $msg .= _add_valid_values_disp('USE_ELASTICSEARCH', $valid_values); + $config{'USE_ELASTICSEARCH'} = _get_value('USE_ELASTICSEARCH', $msg, $defaults->{'USE_ELASTICSEARCH'}, $valid_values, $install_log_values); + if ($config{'USE_ELASTICSEARCH'} eq 'yes'){ + $msg = q( +Define the ELASTICSEARCH_SERVERS with a comma-separated list. Eg +localhost:9200, 192.168.0.100:9200 +); + $msg = q( +Elasticsearch server addresses?); + $config{'ELASTICSEARCH_SERVERS'} = _get_value('ELASTICSEARCH_SERVERS', $msg, $defaults->{'ELASTICSEARCH_SERVERS'}, $valid_values, $install_log_values); + + $msg = q( +What index name to use for this Koha-instance? It must be unique for each Koha +sharing the same Elasticsearch-cluster + +Elasticsearch index?); + $config{'ELASTICSEARCH_INDEX'} = _get_value('ELASTICSEARCH_INDEX', $msg, $defaults->{'ELASTICSEARCH_INDEX'}, $valid_values, $install_log_values); + } + $msg = q( Template cache directory?); $config{'TEMPLATE_CACHE_DIR'} = _get_value('TEMPLATE_CACHE_DIR', $msg, $defaults->{'TEMPLATE_CACHE_DIR'}, $valid_values, $install_log_values); --- a/debian/templates/koha-conf-site.xml.in +++ a/debian/templates/koha-conf-site.xml.in @@ -347,8 +347,8 @@ __END_SRU_PUBLICSERVER__ - localhost:9200 - koha___KOHASITE__ + localhost:9200 + koha___KOHASITE__ --- a/etc/koha-conf.xml +++ a/etc/koha-conf.xml @@ -163,8 +163,8 @@ __PAZPAR2_TOGGLE_XML_POST__ - localhost:9200 - koha___DB_NAME__ + __ELASTICSEARCH_SERVERS__ + __ELASTICSEARCH_INDEX_____DB_NAME__ Static --- a/rewrite-config.PL +++ a/rewrite-config.PL @@ -150,6 +150,9 @@ $prefix = $ENV{'INSTALL_BASE'} || "/usr"; "__USE_MEMCACHED__" => 'yes', "__MEMCACHED_SERVERS__" => "", "__MEMCACHED_NAMESPACE__" => "", + "__USE_ELASTICSEARCH__" => 'no', + "__ELASTICSEARCH_SERVERS__" => "localhost:9200", + "__ELASTICSEARCH_INDEX__" => "koha", "__FONT_DIR__" => "/usr/share/fonts/truetype/ttf-dejavu", "__TEMPLATE_CACHE_DIR__" => "/tmp/koha" ); --