I am using a function to create metadata with postgres for geonetwork. The goal of the function is to automatically create a metadata with basic information. Moreover, when the data is modified, the metadata will automatically also be updated. The function works and the xml & other information appears in the metadata table in geonetwork.

The problem is when I try to create a new metadata, it doesn't appear in the geonetwork catalogue. All the information appears in the metadata table but not in the geonetwork interface. If I modify the xml directly in the metadata table, then the modification appears in the geonetwork catalogue... Also there are no error in the xml.

Anyone can help me?

2 Answers 2


GeoNetwork uses a Lucene index to store some information extracted from the XML metadata documents. Although the metadata document itself is stored in the database, the info in the index is not updated automatically if you directly modify the database.

To make GN aware of your changes in the database you have to call an API method (only allowed for Administrator users) with the UUID of the records you have inserted/modified to update the index:

GET /api/0.1/records/index Parameters: uuids

For example, GET http://localhost:8080/geonetwork/api/0.1/records/index?uuids=1&uuids=2&uuids=3 should update the index for the records uuids=1, uuids=2 and uuids=3.


Not an real answer (i don't have enough reputation to comment) but :

Maybe there is a cache where metadata are stored and that need to be refreshed to show the new one in the catalog

There is also the metadatastatus table that may need to be modified ?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.