OneStop is a data discovery system being built by CIRES researchers on a grant from the NOAA National Centers for Environmental Information. We welcome contributions from the community!
This project is maintained by cedardevs
Estimated Reading Time: 5 minutes
Catalog Services for the Web and OpenSearch APIs for the records in OneStop are provided via the geoportal-search
module of the Geoportal project.
The geoportal-search
application is a war file which can be run in any java servlet container. There are two files inside the war that need to be modified in order to a) point it at your custom elasticsearch and b) customize the searchable fields based on your index.
Our Dockerfile creates an image that connects to the OneStop elasticsearch, which it assumes to be running at elasticsearch:9200
. The image is published to the docker hub with the tag cedardevs/onestop-geoportal-search.
To simply run the image, use:
docker run cedardevs/onestop-geoportal-search
For an example of running the whole system using Docker Compose, see our docker-compose.yml file.
The following is a list of steps to set up and customize geoportal-search
to point to the OneStop index. For more details, see Geoportal’s wiki on the subject.
WEB-INF/classes/gs/config/Config.js
to:
var targets = {
...
"onestop": gs.Object.create(gs.target.elastic.CustomElasticTarget).mixin({
"searchUrl": "http://<onestop elasticsearch host:port>/search/collection/_search"
})
};
defaultTarget: {writable: true, value: "onestop"}
WEB-INF/classes/gs/target/elastic/CustomElasticSchema.js
to map searches onto the OneStop index.
$CATALINA_BASE/webapps/geoportal-search
for a Tomcat installation.