Manage Quickfind

This screen is used to set up Quickfind, a mechanism that greatly increases the speed of text searches through the ExtraView database. This utility defines exactly what text will be indexed, and where the indexes will be stored. The Quickfind indexing mechanism is based upon the Apache Foundation Lucene technology.


The Quickfind management utility

The button named Estimate Storage Requirements gives an approximate estimate of how much storage is required with the current database, to store the indexes. Make sure you have sufficient storage available at all times, as your database grows in size.

On rare occasions, it might be necessary to manipulate the content types and the character set mappings of information to be indexed. It is not recommended that you alter these settings.

  • The Enable Quickfind prompt is an overall switch to enable or disable Quickfind
  • The Quickfind Index Location is the disk location where the indexes will be stored. All application servers in your installation must have read and write access to this location. Further, you must make sure you have sufficient disk space to store the indexes as they grow. If the location is on an NFS mount, then you should include this in the index location by using the convention nfs:pathname. This assists ExtraView in its handling of Quickfind.
  • The prompt Allow Quickfind on user defined text fields determines whether the text within all the user defined fields should be indexed. The recommendation is that you set this to Yes

When Quickfind is first turned on, and the task named FULL_TEXT_SYNCHRONIZE is also turned on, ExtraView will build the indexes on your database. Information on the Manage Quickfind task is found here. If you ever need to rebuild the indexes, there is utility named FullTextIndexSetup provided with ExtraView, located in the WEB-INF/data folder. This utility will initialize and rebuild all the Quickfind indexes when it is run. This should be done from the command line of your server.

When you first setup Quickfind, the indexes are built with the utility named FullTextIndexSetup. This is extremely quick on a new database, but may take some time on a very large existing database. This is done in chunks, so that you can continue working while the indexing task runs in the background, without it consuming all the resources of the server. It is difficult to predict exactly how long this will take on a large database, as there are many factors such as the processing speed, memory, amount of text, and the amount of attachments that all have an impact. However, it is unlikely that the process will take more than a few hours. Your users can continue working during this period, and the search results will improve as the process continues. Our recommendation is to start the process after the majority of users leave work for the day.

Note that files larger than 16MB cannot be indexed.

As stated above, Quickfind utilizes the Apache Lucene software to provide the indexing mechanism. One support issue is that if your Java Virtual Machine, or your application server (Apache Tomcat or whatever) crashes for any reason, then the indexes may be left in a locked state on the server. The lock files are kept in the directory specified by the org.apache.lucene.lockdir system property if it is set, or by default in the directory specified by the java.io.tmpdir system property (on Unix boxes this is usually /var/tmp or /tmp). If for some reason java.io.tmpdir is not set, then the directory path you specified to create your index is used. Lock files have names that start with lucene- followed by an MD5 hash of the index directory path. If you are certain that a lock file is not in use, you can delete it manually.