Skip to content

Commit

Permalink
WIP - multi-threaded indexing - dataset prefix fix
Browse files Browse the repository at this point in the history
  • Loading branch information
djtfmartin committed Jun 27, 2024
1 parent e8f9b00 commit 7cd5f7c
Showing 1 changed file with 11 additions and 3 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -82,10 +82,10 @@ void init() {
}

// load identifier indexes
this.identifierSearchers = initialiseAdditionalIndexes("identifiers");
this.identifierSearchers = initialiseAdditionalIndexes("identifiers", prefixMapping);

// load ancillary indexes
this.ancillarySearchers = initialiseAdditionalIndexes("ancillary");
this.ancillarySearchers = initialiseAdditionalIndexes("ancillary", prefixMapping);

} else {
log.warn("Lucene index not found at {}", mainIndexPath);
Expand All @@ -107,7 +107,7 @@ protected void reinit() {
}
}

private HashMap<Dataset, IndexSearcher> initialiseAdditionalIndexes(String directoryName) {
private HashMap<Dataset, IndexSearcher> initialiseAdditionalIndexes(String directoryName, Map<Integer, Dataset> prefixMapping) {
HashMap<Dataset, IndexSearcher> searchers = new HashMap<>();
if (Path.of(indexPath + "/" + directoryName).toFile().exists()) {
try (DirectoryStream<Path> stream = Files.newDirectoryStream(Path.of(indexPath + "/" + directoryName))) {
Expand All @@ -119,6 +119,14 @@ private HashMap<Dataset, IndexSearcher> initialiseAdditionalIndexes(String direc
ObjectMapper mapper = new ObjectMapper();
Dataset dataset = mapper.readValue(new FileReader(entry.resolve("metadata.json").toFile()),
Dataset.class);

// apply prefix mapping
Dataset prefixDatasetConfig = prefixMapping.get(dataset.getKey());
if (prefixDatasetConfig != null) {
dataset.setPrefix(prefixDatasetConfig.getPrefix());
dataset.setPrefixMapping(prefixDatasetConfig.getPrefixMapping());
}

searchers.put(dataset, new IndexSearcher(reader));
} catch (IOException e) {
log.warn("Cannot open {} lucene index {}", directoryName, entry, e);
Expand Down

0 comments on commit 7cd5f7c

Please sign in to comment.