oni-indexer

Builds a Solr index for an oni data repository

Usage no npm install needed!

<script type="module">
  import oniIndexer from 'https://cdn.skypack.dev/oni-indexer';
</script>

README

JSON LD Solr Indexer


NOTES:

  • Currently spec'd to work only with Datacrate JSON-LD.

TODO:

  • build schema of solr with config file
  • Generalise to use any json-ld
  • Make createROCrateIndexer as part of the library
  • Test with other types of json-ld's

Example implementation:

Generate JSON-LDs

node generate-datacrates.js -d ./test-data/generated/ -n 100

or

npm run generate

Commit to SOLR

Modify config.json to suit your needs.

Use

node ./commit-to-solr.js --config ./config.json

or

npm run commit

Detail

const fieldConfig = require('./fields.json');
let indexer = new ROCrateIndexer();
indexer.setConfig(fieldConfig);

const entryPath = path.join('test-data','CATALOG.json');
let entryJson = fs.readFileSync(entryPath).toString();
entryJson = JSON.parse(entryJson);

const solrObject = await indexer.createSolrObject(entryJson, '@graph');