...
- load.bat, load.csh
- Used to create database, clear indexes, and load terminology data.
- loadDelta.bat, loadDelta.csh
- Used to run the delta loader.
- truncate_all.sql
- MySQL script for removing all tables.
- The alternative is to drop and recreate the schema
Update DB
Used to create or update the schema to accommodate new builds/installations or updating of schema.
- For this mojo to run, the database must already be created (e.g. Create database tsdb; )
- Connection parameters for the database must be set in the config.properties file.
When running, pass a run.config parameter whose value is the path to the config.properties file.
- Note, the default behavior is to run with the hibernate.hbm2ddl.auto setting set to "update".
- This can be overridden by running with a -Dhibernate.hbm2ddl.auto=create setting.
Code Block |
---|
% cd admin/updatedb
% mvn [-Dhibernate.hbm2ddl.auto=create] -Drun.config=/home/user/data/config.properties clean install |
Loader
Used to load terminologies.
- For this mojo to run, the database must already be created (e.g. Create database tsdb; )
- Connection parameters for the database must be set in the config.properties file.
When running, pass a run.config parameter whose value is the path to the config.properties file.
- When running, the name of the profile to be run must be indicated (see admin/loader/pom.xml for current options), e.g. -P SNOMEDCT, -P ICD9CM
- The location of the RF2 formatted files must be supplied as an input parameter in config.properties, e.g. loader.SNOMEDCT.input.data=C:/data/snomedct-20140131-mini and loader.ICD9CM.input.data=C:/data/icd9cm_2013.xml
- The parameters used to determine the defaultPreferredName for Concepts must be provided in the config.properties file. Current values are:
loader.defaultPreferredNames.typeId=900000000000013009
loader.defaultPreferredNames.refSetId=900000000000509007
loader.defaultPreferredNames.acceptabilityId=900000000000548007
Code Block |
---|
% cd admin/loader
% mvn -Drun.config=/home/user/data/config.properties -PICD9CM clean install |
Remover
Used to remove terminologies.
- For this mojo to run, the database must already be created (e.g. Create database tsdb; )
- Connection parameters for the database must be set in a the config.;properties file.
When running, pass a run.config parameter whose value is the path to the config.;properties file.
- When running, the name of the profile to be run must be indicated (see admin/loader/pom.xml for current options), e.g. -P SNOMEDCT, -P ICD9CM.
Code Block |
---|
% cd admin/remover
% mvn -Drun.config=/home/user/data/config.properties -PICD9CM clean install |
Reindex
Used to create lucene indexes to facilitate searching. Indexes are created based on the hibernate-search annotations such as @Indexed, @IndexedEmbedded, @Field, @ContainedInetc.
- Indexes are written into the directory specified by the hibernate.search.default.indexBase property
When running, pass a run.config parameter whose value is the path to the config.properties file.
% cd parent/admin/lucene
...
Admin Tools
The following admin tools are used to administer a term server.
- Create/update DB
- Lucene Reindex
- Terminology Loader and Remover
- QA Tools
- Release Processing Tools
- Maintenance Tools
The "server" Parameter
Most admin tools take an optional "server" parameter that can be set to true/false and has a default value of false.
This is a mechanism to support running admin tools through REST calls, rather than in a standalone fashion. The reason for this is that tomcat deployments involve running the server as a different user than the typical admin user on the machine. As many admin tools can affect indexes, this creates weird problems with respect to managing ownership and permissions on Lucene index files.
By supporting a mode where all admin tools can be run through a server, there is no need to have the the user account on a production machine for running admin tools match the user account of the server. In fact, the "load" scripts supplied with the distribution could be easily modified to use "server=true" and the entire load could be managed through a running server. This, of course, would require the server to be deployed and running first.
References/Links
- n/a