Installation and Setup V3

Aus CTS2-LE
Version vom 3. Juni 2019, 16:04 Uhr von Billig (Diskussion | Beiträge) ((Bulk-)Loading of Terminologies)
Zur Navigation springen Zur Suche springen

Release Files

  • fuseki-cts2le.zip: config files for fuseki
  • solr-cts2le.zip: config files and blank index directory for solr
  • WebCts2LE-embedded-jetty.zip: CTS2-LE jetty server
  • cts2le-3-command-bulk.jar: CLI for bulk loading
  • ntriples-collection.zip: standard terminologies for bulk loading

Required Software/Server

Fuseki Installation

  • unzip fuseki-cts2le.zip to a directory (denoted by <F1> in the following)
  • unzip apache-jena-fuseki-3.8.0.zip from https://jena.apache.org/download/ (the extracted directory apache-jena-fuseki-3.8.0 is denoted by <F2> in the following)
  • go to directory <F2>
  • run ./fuseki start and ./fuseki stop subsequently (in order to let directory <F2>/run be generated)
  • copy <F1>/cts2le.ttl to <F2>/run/configuration
  • copy <F1>/log4j.properties to <F2>/run
  • start command: ./fuseki start
    Windows Powershell: .\fuseki-server.bat
  • shutdown command: ./fuseki stop
    Windows Powershell: ctrl-c

Solr Installation

  • unzip solr-cts2le.zip to a directory (denoted by <S1> in the following)
  • unzip solr-7.6.0.zip from http://lucene.apache.org/solr/downloads.html (the extracted directory solr-7.6.0 is denoted by <S2> in the following)
  • go to directory <S2>
  • start command: ./bin/solr start -s <S1>
  • shutdown command: ./bin/solr stop -all

WebCts2LE Installation

General

  • unzip WebCts2LE-embedded-jetty.zip to a directory (denoted by <W> in the following)

Embedded Jetty Variant

  • edit file <W>/CTS2LE_resources/resources-custom/setting.json. The following fragment shows the relevant lines to adapt:
	store: 'fuseki',
	storePath: 'http://localhost:3030/cts2le',
	
	luceneMode: 'remote',
	luceneIndexPath: 'http://localhost:8983/solr/cts2le',

Be sure that

  • store='fuseki' and luceneMode='remote' and host:port of storePath and luceneIndexPath are set to the server endpoints

!!! WebCts2LE does not not run properly if the fuseki or solr endpoint are not running.

  • go to directory <W>
  • start command: ./bin/startup.sh -port <port>
    Windows Powershell: .\bin\startup.bat -port <port>
  • shutdown command: ./bin/shutdown.sh <port>
    Windows Powershell: ctrl-c
  • navigation ui: http://<host>:<port>/WebCts2LE

WebCts2LE Basic Security

The Embedded Jetty Variant supports simple security based on Basic Access Authentication for services that modify the data base (advanced security will not be supported at this architecture level, instead special security components should be placed on top of WebCts2LE). Changing security (see HashLoginService at https://www.eclipse.org/jetty/documentation/9.4.x/configuring-security.html for details):

  • edit <W>/conf/basic-realm.properties. It contains username: password,rolename, e.g. admin: webcts2le-admin,admin. Change username or password if needed. Role name admin should not be changed.
  • run service with basic authentication via option flag: ./bin/startup.sh -port <port> -basic_auth

(Bulk-)Loading of Terminologies

Standard Terminologies (RDF-ntriples)

  • unzip ntriples-collection.zip to a directory (denoted by <N> in the following)
  • unzip cts2le-3-command-bulk.jar to a directory (denoted by <C> in the following)
  • go to directory <C>
  • run java -jar cts2le-3-command-bulk.jar --command fileToStore --format ntriples --sourceLoc <N> --targetLoc http://<host>:<port>/WebCts2LE
    if WebCts2LE is started with -basic_auth then the command has to be extended by --user <user> --passwd <passwd>
    if the database should be emptied then the command has to be extended by --clear

Currently, the estimated load time (fuseki quad store) is about 30 minutes (~3GHz/16GB) for all public terminologies exclusive SNOMED. Due to quad store constraints (i.e. load time roughly equals removal time) it is recommended to delete all store files on <F2>/run/databases/cts2le (for <F2> see Fuseki Installation above) if an existing filled store is the target of bulk load.

index update (possibly with basic auth credentials):

  • run GET http://<host>:<port>/WebCts2LE/service/manage/index/update to update the search index

Currently, the estimated index time (solr) is about 15 minutes (~3GHz/16GB). You can delete all index files on <S1>/core-cts2le/data/index (for <S1> see Solr Installation above).

  • run GET http://<host>:<port>/WebCts2LE/service/manage/index/suggester/update to update the suggester index
  • restart WebCts2LE server

Custom FHIR Terminologies

  • let <F> denote a directory containing FHIR xml files
  • go to directory <C> (see above)
  • run java -jar cts2le-3-command-bulk.jar --command fileToStore --format fhir --sourceLoc <F> --targetLoc http://<host>:<port>/WebCts2LE
  • run GET http://<host>:<port>/WebCts2LE/service/manage/index/suggester/update to update the suggester index (possibly with basic auth credentials)
  • restart WebCts2LE server