Open topic with navigation
Instant Search creates and maintains an index of feature data for a map service. The Instant Search method is used to search the index when you enable both the Instant Search option for a map service and the Global Search option for the layers and fields in that map service.
If Instant Search is not enabled, Global Search uses the Layer Search method to send a search request to the map service.
Instant Search works with ArcGIS map services only. This includes ArcGIS Server, Portal for ArcGIS, and ArcGIS Online map services.
You can turn Global Search on or off at any time for layers and fields in an indexed map service, without rescanning the service.
Instant Search can search ArcGIS Server map services and feature services in hosted ArcGIS Server installations, as well as ArcGIS Online and Portal for ArcGIS.
For each hosted ArcGIS Server map service and feature layer in a site, you have the choice of enabling Instant Search for the service or layer, or allowing searches to use ArcGIS Search. The following table lists the differences between how ArcGIS Search and Instant Search work.
Differences between Instant Search and ArcGIS Search
The search is near instant—typically under 100 ms—often much faster.
Search time is proportional to the number of features being searched, typically several seconds.
Searches all fields, regardless of the data type.
Searches text fields only, except when searching a feature layer with the Search Non-Text Fields setting enabled.
Compensates for word order when searching.
Compensates for word order only if the Services Enhancement Proxy is enabled for this map service.
Does exact and partial matches.
Does exact and partial matches.
You can use Instant Search with unsecured services, as well as the following secured services:
ArcGIS Online and Portal: If Essentials is registered with Portal for ArcGIS or ArcGIS Online, then Instant Search can index private services from those resources with no further steps.
ArcGIS Server - Web Tier Configured Credentials: A service on ArcGIS Server can be secured via web tier (configured credentials) if the service is secured using basic or digest authentication, or if the service is secured using integrated Windows Authentication.
ArcGIS Token Security: A service on ArcGIS Server can be secured using token security.
User impersonation is not supported by Instant Search.
Access Secured Map Services
The Instant Search index includes all of the data on every layer in a map service. Before Instant Search can be used, you must scan that service to add its data to the index.
Instant Search does not use proxy page settings in the Map Service connection. Services that require a proxy page for access cannot be indexed with Instant Search.
Essentials might not use all the data in the index as Essentials only searches those layers and fields that have Global Search turned on. You can enable or disable Global Search for layers and fields without having to update the index. Similarly, you can disable and re-enable Instant Search for a map service without having to rescan the service.
Instant Search is designed to create the index in the background so it does not affect the server that hosts the map service. For example, when the LA County demo site was indexed, it took 7.5 hours to index 5,867,896 features. The resulting index was 19GB in size. Based on this:
Instant Search can conservatively index a 750,000 features per hour
One gigabyte can store approximately 300,000 features
Features per hour and features per gigabyte depend on the size of a feature.
We recommend that you index the map service before you enable Instant Search. See Configure Instant Search for instructions.
Multiple map services can be processed at the same time. Only three map services on the same server can be indexed simultaneously. If this limit is reached, the remainder of the map services are queued until a slot is available for indexing. Queuing prevents excessive traffic to a single server.
Instant Search keeps the index up to date by periodically scanning the services that are included in the index. The index is automatically updated once a week by default. When a scheduled process is halted manually, you have the option of restarting it manually or waiting until the next scheduled update.
When the data of a map service changes, for example, a parcel is sub-divided, there is a delay before Instant Search can find the updated features. For this reason, Instant Search is not suited to map services whose data changes frequently or if the data is used to generate reports based on search results.
To configure how frequently the Instant Search index is updated, see the Configure Instant Search Indexing Schedule knowledge base article.
Progress Bar and Status Indicators
You can track the status of a scan with the progress bar and status indicators on the Instant Search tab for the map service.
Current status and progress during a scan
The progress bar on the Instant Search tab indicates the percentage of features scanned and already in the database. It reaches 100% completion when all of a map service's features have been indexed.
Each state is identified on the Instant Search tab. The status indicators include:
Idle: The indexing process is inactive.
Pending: The indexing process is starting up or queuing.
Scanning: The indexing process is performing web requests to download feature data.
Indexing: The indexing process is parsing feature data and storing it in the database.
Finished (Scheduled): The indexing process is complete and the features will be re-indexed at the next scheduled time, approximately a week after the previous scan was started by default. You can start a scan manually at any time that the status indicates Finished (Scheduled).
Paused: The indexing process has been paused manually. You can restart the process manually or leave it to start automatically at the next scheduled time.
If a scanner process is unexpectedly terminated, Instant Search attempts to update the status to Paused in Essentials to reflect this change.
Error!: The indexing process has been halted for a variety of reasons.
If a map service is not available, an error message displays on the Instant Search tab of the map service.
There are two main types of errors that occur when a map service is being indexed:
ArcGIS Server is Unavailable: The error occurs when the actual server is unavailable. The indexer retries the request in 5 minutes, then 15 minutes, 1 hour, 6 hours, 24 hours, after which it indicates Failure. When this error type occurs, all indexing pauses until the retry time has passed, after which the indexing resumes.
ArcGIS Server Element is Temporarily Unavailable: The error occurs when a layer is not available or a single feature request fails. For example, this can happen if the SDE database used by a feature service is not available. The indexer retries the request in 2 minutes, then 15 minutes, 1 hour, 3 hours, 12 hours, after which it indicates Failure. When this error occurs, indexing continues as normal for the remaining features, while only the problematic request is queued up so that it can be retried later.
There are different error formats for different error levels. A typical error message for credential issues is:
HTTP Error - Unauthorized or Forbidden. Please check your credentials. Encountered at 9:50:10 AM for URL 'http://MyServer.com/arcgis/rest/services/Charlotte/MapServer?f=pjson'. Will retry on 9:55:09 AM.
A typical error message for a fatal error is:
HTTP Error – The service is unavailable. Encountered at 10:41:22 AM for URL ' http://MyServer.com/arcgis/rest/services/Charlotte/MapServer/0?f=pjson'. Attempted maximum number of retries; index may be incomplete.
After a fatal error message, no more retries take place and the error remains until it is re-indexed.
Common Error Messages
HTTP Error – Error performing query operation.
An ArcGIS Server-related problem. The service may be temporarily unavailable, or a common issue is that the result set from the query may exceed the specified maximum. For more information see: Esri Knowledge Base: Error Performing Query Operation
HTTP Error - Unauthorized or Forbidden. Please check your credentials.
The credentials supplied to Instant Search are not valid. Please change the user credentials in Essentials Manager and manually resume indexing on this service.
HTTP Error – The service is unavailable.
The ArcGIS server is offline or temporarily unavailable.
Configuring Instant Search for each map service you want indexed includes:
Turning on Global Search.
Building the Instant Search index.
Enabling Instant Search.
If necessary, modifying the Instant Search settings for individual viewers.
Complete the following steps to configure Instant Search.
See Enable Global Search for instructions to turn on Global Search for the layers and fields that you want to be searchable.
You can turn Global Search on or off at any time for layers and fields in an indexed map service, without having to rescan the service to update the index.
Click the Instant Search tab.
Click the icon (Start or resume scanning this service) above the Features progress bar.
If the service is secured, a prompt appears for you to confirm that you want the secure credentials passed to Core.
The Scan icon changes to a Pause icon. Instant Search is now scanning the map service and adding its data to the search index.
You can pause and resume scanning.
Continue editing and scanning map services in this site until you are scanning each service that you want to include in the index. You can scan multiple map services simultaneously.
Keep a record of the map services that you include in the Instant Search index. When the index is built, you will need to Enable Instant Search for each service.
Continue editing sites and scanning map services until you are scanning each service that you want to include in the index.
If a particular map service appears in more than one site, you only need to start scanning in one site—the sites will share the index.
You must now wait for scanning to complete. Instant Search is designed to create the index slowly so it does not affect the servers that host the map services. Each map service has a progress bar on the map service's Instant Search tab.
Progress bar for a map service that is being scanned
Indexing can take a long time—sometimes overnight and there may be extended periods of time where you may not see any visible progress.
Click the Instant Search tab.
If the Search Index progress bar indicates that scanning is 100% complete, select the Instant Search checkbox.
Progress bar when scanning is complete
Click Apply Settings.
Continue enabling Instant Search for map services in this site until you have enabled it for every service that you want to use Instant Search.
Click Save Site.
To modify the Instant Search settings for individual viewers, see Instant Search in the HTML5 Viewer Administrator Help.
If you want to return to using the default search method for a particular map service, you can disable Instant Search for that service.
If a particular map service appears in more than one site, you can use the default method for one instance of the service and Instant Search for another instance. They do not require the same search method.
To disable Instant Search for a map service:
Go to the Instant Search tab.
Clear the Instant Search checkbox.
Click Apply Settings and Save Site.
Global searches will now be performed using the default method, instead of Instant Search. You can re-enable Instant Search at any time by selecting the Instant Search checkbox.
If you no longer want to use Instant Search for a map service, you can delete the map service from the index.
If you delete a map service from the index, and then you want to start using Instant Search again for that map service, you must re-scan the service to add it back to the index. By default, it may be more than a week before your features are available again in Instant Search.
Instant Search indexes are shared between sites. If you delete the index for a map service from one site, the index is removed from all other sites that use that service.
To delete a map service from the Instant Search index:
Go to the Instant Search tab.
Click Delete beside Current Status.
If there is no Delete button beside the progress bar, the map service is not in the index.
Click Delete Index when prompted.
Click Apply Settings and Save Site.
The map service is deleted from the existing index and the Delete icon disappears. Instant Search will no longer scan this service when updating the index.
Instant Search is I/O bound. When serving search requests, Instant Search accesses both system memory (RAM) and the storage drive. You can improve the performance of Instant Search by increasing RAM and upgrading the storage drive.
Instant Search is not CPU bound. An upgrade to the server's CPU does not significantly improve the performance of Instant Search.
To improve Instant Search performance:
Upgrade to a Solid-State Drive: Instant Search reads from the storage drive where the index is stored. Reading from a solid-state drive (SSD) is much faster than reading from a hard disk drive. To ensure the quickest access times, set up the Geocortex Core data folder on a partition on a solid-state drive. To do this, change the location of the data folder to point to the SSD partition.
You can change the location of the data folder when you run the Geocortex Core installer with the Geocortex Core Management Application. For a typical installation, you can find this application at
C:\Program Files\Latitude Geographics\Geocortex Core\Management\Geocortex.Platform.Management.exe.
Increase Server RAM: Increasing the server's RAM allows you to allocate more RAM to Instant Search, and have more RAM for the other processes that the server runs.
Increase the RAM Available to Instant Search: Instant Search uses the amount of RAM that is configured for it in Geocortex Core. You can increase the amount of RAM that Geocortex Core allocates to Instant Search.
The more RAM that Instant Search has available to it, the faster it can serve search requests. By default, Geocortex Core dynamically allocates up to half the system RAM to Instant Search. This ensures adequate Instant Search performance and ensures that enough RAM is available for the other server processes. Allocating more than half of a system's RAM to Instant Search is not recommended.
To change the RAM allotment for Instant Search:
Step 1: Stop the Windows Service that Runs Geocortex Core
Open the Windows Services panel.
To open the Services panel in Windows Server 2012, open Server Manager and select Services in the Tools menu.
Right-click the Geocortex Core service and select Stop.
Step 2: Modify the Memory Settings
Run a text editor or XML editor as an administrator.
You can use Notepad, a text editor included with Windows.
role.config file in the editor.
For a typical Geocortex Core installation, you can find the
role.config file at the following path:
C:\Program Files\Latitude Geographics\Geocortex Core\NSRoot\Geocortex\Core\Roles\DocumentStore\3.x.x.xxxx\roles.config
3.x.x.xxxx is the version number of Core currently installed.
You should see the following lines in the
<!-- The minimum amount of memory to allocate to the elasticsearch vm. Defaults to 256MB --> <StartupSetting Key="MinMemory" Value="auto" /> <!-- The maximum amount of memory to allocate to the elasticsearch vm. Defaults to 1/2 system RAM --> <StartupSetting Key="MaxMemory" Value="auto" />
Value attributes to the minimum and maximum RAM that you want to allocate to Instant Search.
By default, these attributes are set to
Value="auto", where the minimum memory defaults to 256 MB and the maximum memory defaults to half of the system's RAM. If you want to explicitly set the minimum and maximum memory values, you can change the value attributes based on the amount of memory available on your server.
For example, if your server has 8 GB of available memory when the Geocortex Core service is stopped, you could set
MaxMemory each to 4 GB. This is represented as
4g in the
<StartupSetting Key="MinMemory" Value="4g" />
<StartupSetting Key="MaxMemory" Value="4g" />
By giving the
MaxMemory the same value, Core no longer dynamically allocates memory to Instant Search. Instead, it reserves the minimum and maximum amount of memory specifically for Instant Search's use.
Save the file.
Step 3: Restart the Windows Service that Runs Geocortex Core
In the Windows Services panel, right-click the Geocortex Core service and select Start.
Step 4: Test that Instant Search is Working
http://localhost:19201/ into your browser's address bar and press Enter.
If Instant Search is running, the browser loads a JSON file with information about your Core instance. Depending on the browser you use, you may be required to save the JSON file before you can view the information.
If the open or save message does not appear, verify that you made the configuration changes correctly. If you need to make corrections to the
role.config file, repeat the steps starting at Step 1.
Instant Search in the HTML5 Administrator Help
Instant Search provides search hints as the user begins typing in the Global Search box.
For example, if a user types
san in the Global Search box, search hints suggest feature details with "san" in their Instant Search-enabled layers and fields. The user can select a search hint to search for the suggested term.
Search hints shown in a viewer
Search hints include a Refine Search button . When the user selects the Refine Search button, the search hint is sent to the Global Search box as a new search term. The user can then continue to refine the search. Because search hints are usually more complex than the search term, search hints refine the search. By successively choosing Refine Search, the user can build a refined search term without having to input it manually.
Selecting a Refine Search button does not search for the term. To perform the search, the user must select the Search icon, or press the Enter key.
You can navigate between search hints by pressing the up arrow and down arrow keys.
Instant Search recognizes numbers in one of the following formats:
It only recognizes numbers formatted according to the rules of the locale configured in Essentials unless a locale uses white-space as a group separator. For example, a search for "123 456" always looks for features that have both
456. As a result, users need to use fixed-point notation in search terms, like "123456" or "123456.00".
See Format Number Fields for more information.
In the case of currency and accounting formats, Instant Search only recognizes the application's configured currency. This is configured in the viewer’s configuration file by specifying an ISO-4217 currency code for the setting of the application. When not specified, it defaults to USD.