Bug 17851: Add elasticsearch config to koha-conf.xml
authorOlli-Antti Kivilahti <olli-antti.kivilahti@jns.fi>
Thu, 5 Jan 2017 12:13:48 +0000 (14:13 +0200)
committerMartin Renvoize <martin.renvoize@ptfs-europe.com>
Mon, 7 Oct 2019 13:09:10 +0000 (14:09 +0100)
Missing installer for debian packages.

Sponsored-by: Koha-Suomi Oy
Signed-off-by: Johanna Raisa <johanna.raisa@gmail.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Makefile.PL
debian/templates/koha-conf-site.xml.in
etc/koha-conf.xml
rewrite-config.PL

index 0a0d4b7..69eae83 100644 (file)
@@ -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);
index e9e5624..5173511 100644 (file)
@@ -347,8 +347,8 @@ __END_SRU_PUBLICSERVER__
 
  <!-- Elasticsearch Configuration -->
  <elasticsearch>
-     <server>localhost:9200</server>
-     <index_name>koha___KOHASITE__</index_name>
+     <server>localhost:9200</server> <!-- may be repeated to include all servers on your cluster -->
+     <index_name>koha___KOHASITE__</index_name> <!-- should be unique amongst all the indices on your cluster. _biblios and _authorities will be appended. -->
  </elasticsearch>
  <!-- Uncomment the following line if you want to override the Elasticsearch default index settings -->
  <!-- <elasticsearch_index_config>__KOHA_CONF_DIR__/searchengine/elasticsearch/index_config.yaml</elasticsearch_index_config> -->
index fc7c7cf..b10e951 100644 (file)
@@ -163,8 +163,8 @@ __PAZPAR2_TOGGLE_XML_POST__
 
  <!-- Elasticsearch Configuration -->
  <elasticsearch>
-     <server>localhost:9200</server>
-     <index_name>koha___DB_NAME__</index_name>
+     <server>__ELASTICSEARCH_SERVERS__</server>
+     <index_name>__ELASTICSEARCH_INDEX_____DB_NAME__</index_name>
 
      <!-- See https://metacpan.org/pod/Search::Elasticsearch#cxn_pool -->
      <cxn_pool>Static</cxn_pool>
index 8b88684..1fec27c 100644 (file)
@@ -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"
 );