Search Components

Release 9.3.1 E-mail This Topic Printable Version Give Us Feedback

Search Components

The primary components associated with the execution of a search against the Geoportal extension metadata catalog are depicted in the figure below.





Note: the ArcXML branch of the diagram above only applies to an SDE-enabled database model.



The website search page exposes a service endpoint for metadata discovery. Requests from the page are processed by a SearchController component that, in turn, executes requests through the SearchEngine component.



The website exposes a REST Query API service endpoint for metadata discovery. This service endpoint has the ability to generate GeoRSS, KML, HTML and HTML fragment responses. Requests are parsed by a RestQueryParser component and executed through the SearchEngine component. Any client that can understand RSS, GeoRSS, KML or HTML protocol can utilize this endpoint. Typical clients include: browsers, content management systems, ArcGIS Explorer, and Google Earth.



The website exposes a CSW 2.0.2 Discovery service endpoint for metadata discovery. Any client that understands the CSW 2.0.2 Discovery protocol can query the catalog through this end point. The Geoportal extension CSW Client components that plug into ArcGIS Explorer and ArcGIS Desktop can utilize this end point. External mapping applications can be configured to utilize this end point. The Geoportal extension Desktop Harvester can utilize this end point to harvest remote Geoportal extension based catalogs.



The SearchEngine component handles inbound requests from the website search page and the exposed Rest Query API end point. Requests targeting the local metadata catalog are transformed to a CSW 2.0.2 discovery XML and submitted to a CSW Discovery Parser for processing. Requests targeting a remote CSW service are submitted and processed by a CSW Client component.



CSW 2.0.2 Discovery requests to the local metadata catalog implement a standardized methodology for processing each request:

  1. The request is parsed (CSW Discovery Parser), extracting CSW request parameters and OGC filter information. This information is used to build an abstract Discovery Model (package com.esri.Geoportal Extension.catalog.discovery)
  2. The discovery model is sent to a LuceneQueryAdapter that utilizes the Apache Lucene Java API to build and execute a query against the Apache Lucene index. The results are then used to populate resultant component objects of the Discovery Model
  3. A CSW 2.0.2 Discovery response XML is then generated from the resultant component objects of the Discovery Model


If the SDE-enabled database model has been implemented then the website exposes an ArcXML (metadata) service endpoint allowing for compatible discovery of metadata from client applications such as ArcCatalog. These requests do not execute against the Apache Lucene index. They are directly sent to the Metadata Service which uses an SDE API to query the SDE layer containing the metadata records.