This application is designed to find, index, and search ODIS (Ocean Data and Information System) JSON-LD metadata.
Built with Symfony 8.0 and Elasticsearch.
Go to SearchThe core functionality is provided by a Symfony command that fetches all ODIS-Arch records from the catalogue API, extracts metadata links, and indexes the content into Elasticsearch.
php bin/console app:odis:crawl
php bin/console app:odis:crawl 3215 3125
php bin/console app:odis:crawl --skip 3215,3125
php bin/console app:odis:crawl --parallel --concurrency 5
php bin/console app:odis:crawl --limit 10
php bin/console app:odis:crawl --clear-index
php bin/console app:odis:clear-stats
php bin/console app:odis:clear-stats --all
php bin/console app:odis:crawl -v
What the crawler does:
You can use the built-in search interface to query the indexed metadata. It uses an Elasticsearch multi_match query across name, description, and keywords fields.
Click here to open the search interface.
For real-time crawl monitoring and error tracking, visit the Crawler Dashboard.
Environment variables in the .env file control the Elasticsearch connection:
ELASTICSEARCH_URL: Usually https://localhost:9200.ELASTICSEARCH_USER: odis_metadataELASTICSEARCH_PASSWORD: The secure password provided during setup.To clear all data and start from scratch, you can use the built-in maintenance command or the button on the Dashboard:
php bin/console app:odis:clear-stats --all
php bin/console app:odis:clear-stats
php bin/console app:odis:crawl --clear-index --limit 1
rm -f crawl_*.log
Framework: Symfony 8.0
Storage: Elasticsearch 9.3
PHP Version: 8.5+