Updating an index
You can control how iBase Designer updates the Full-Text Search index. In routine use, the search service updates the index without you needing to request updates. However, you can use various settings to balance the need for an up-to-date index with the performance of the server. For example, you might choose to suspend index updates while you import or edit large volumes.
About this task
You can set up a maintenance schedule for rebuilding the index. The choices that you can make allow various combinations of full rebuilding or incremental updates.
- The size of the database
- The amount of change in the database
- The timing of the changes, particularly whether changes are typically made by near-continuous data entry or made by less frequent but larger batch operations.
- The available memory, disk, and processor resource
- The load on the server that is presented by interactive or batch tasks such as data entry, analysis, and data maintenance.
Your aim is to keep the search index as up-to-date as possible without noticeably slowing down the server’s performance in other areas.
Given these factors, the best way to update an index can vary over time as the size and uses of the database change.
- Use change tracking and continuous incremental updates when enough processor and memory resources are available, the value of an up-to-date index is high, and records are being added or changed at slow or moderate rates, slow enough for the indexing to keep up with changes.
- Use change tracking with scheduled incremental updates when processor and memory can be used at scheduled times, there is enough disk space for storing changes, and changes between the scheduled times are small enough for the incremental updates to take less time than full rebuilds. This is typical of a database with large numbers of interactive users.
- Use a full rebuild when a large percentage of records changes or are added at particular times, especially if the change is concentrated at one time each day or week. This is typical of a database in which most records are added by import. If imports take place in small batches over long periods of time, consider change tracking with scheduled or continuous incremental updates.
- Use incremental updates when a large number, but not a large percentage, of records change at one time. If many records change over an extended period, consider change tracking with scheduled or continuous incremental updates.
Monitor the effects of your choice. Where possible, try more than one method, for example so that you know the time taken and the server loading, both for a typical incremental update and for a full rebuild.
- tracking changes and updating.
- performing full builds manually or with a schedule.
- checking the status of the index.
Option | Description |
Track Database Changes | Update the index in response to changes in the data. Updates are changes to an existing index. |
Update Index | Start an immediate update of the index. |
Incremental Updates | Enable automatic incremental updates, and choose either continuous or scheduled updates. |
Continuous automatic update of the index | Keeps the index as up-to-date as possible. Note: There is some continuous processing load on
the server when you choose this option and you might want to suspend automatic updates for large
batch imports or similar operations that change large amounts of data. After the operation, perform
a manual update using one of these methods. For moderate amounts of change, click Update Index; this
method always works but might not be the fastest. For large changes, it is quicker to turn off
Track Database Changes and click Rebuild in the Full
Index Build area; after the rebuild, turn on Track Database Changes to resume
automatic updates. |
Scheduled automatic update of the index | Make updates at regular times on particular days, based on changes to the data since the last update. You must also click Change to choose an appropriate schedule. |
Change |
Set up a new schedule for regular incremental updates of the index. For example:
|