Free-text batch load command

The Guidewire Solr Extension provides a command-line utility to extract policy data from the PolicyCenter relational database and load the extracted data into the Guidewire Solr Extension.

Note: Do not set up and configure the free-text batch load command if you configure free-text search for embedded operation. Instead, use the Free-text Search page from the Internal Tools tab.

The free-text batch load command depends on a Unix-compatible sort binary that performs character-value sorting. The batch load command builds intermediate index documents from policy data in PolicyCenter. The batch load command sorts the intermediate documents during its process of collating and compiling the final index documents that it loads into the Guidewire Solr Extension. Guidewire supports cygwin on Windows.

If you set up a development environment for PolicyCenter, you can avoid setting up the free-text batch load command. Instead, use the Free-text Search page from the Internal Tools tab to perform the same function. Also, the Free-text Search page has a function to confirm that the policy data in the Guidewire Solr Extension matches the policy data in the application database. Use the consistency checking function after you run the batch load command to verify changes to the command that you are developing and testing.

See also

Securing database credentials for free-text batch load

Free-text batch load for the production instances of the Guidewire Solr Extension requires the PolicyCenter production database credentials. You must keep these credentials secure. To this end, Guidewire strongly recommends that you load the database credentials that batch load requires from a separate property file. This property file must be stored in a secure location. Alternatively, list the property file in a transient OS environment variable set within the batch load launch script.

The following example contains the batch load database credentials of a property file called solrpass.properties:
db.user=scott
db.password=tiger

Guidewire discourages you from placing this property file or any other file requiring security in the document conf folder or in the Solr home folder. Guidewire Solr Extension uploads files from these locations into ZooKeeper. If the property file is in either of these locations, the security for the file will be compromised.

Instead, create a new folder either under the Solr root folder or the document folder. Consider naming such a new folder secure. In addition, use operating system tools to restrict access to the property file.

When addressing property files, adhere to the following guidelines. Refer to the Solr home folder using ${solrRoot}. Refer to the document folder using ${documentRoot}. Prefix OS environment variable references with osenv.

A new node exists in the batchload-config.xml file that allows you to inject the proper credentials file for interacting with Guidewire Solr Extension. The name of the node is solrCredentials. In addition, the batchload-config.xml file supports a variety of mechanisms for property substitution. This combination of features allows you to avoid hard coding credentials consistent with the Guidewire recommendation:
<document>

  ...

  <-- The property file referenced here defines the solr.username and solr.password properties -->
  <propertyFilename="${documentRoot}/secure/solrpass.properties"/>
  
  ...
 
  <-- The solrCredentials node uses the solr.username and solr.password properties -->
  <solrCredentials username="${solr.username}" password="${solr.password}"/>
 
 ...

</document>
The following code example uses the property file for the database credentials in the datasource URL:
<dataSourcename="ds_orcl"driver="oracle.jdbc.OracleDriver"url="jdbc:oracle:thin:${db.user}/${db.password}/
        gwapp@testhost:1521:orcl"env="test"/>
<dataSourcename="ds_orcl"driver="oracle.jdbc.OracleDriver"url="jdbc:oracle:thin:${osenv.DB_USER}/${osenv.DB_PASSWORD}/
        gwapp@testhost:1521:orcl"env="test"/>