diff --git a/data-store/src/main/java/org/lucares/pdb/datastore/internal/DataStore.java b/data-store/src/main/java/org/lucares/pdb/datastore/internal/DataStore.java index ff85354..ca23848 100644 --- a/data-store/src/main/java/org/lucares/pdb/datastore/internal/DataStore.java +++ b/data-store/src/main/java/org/lucares/pdb/datastore/internal/DataStore.java @@ -287,7 +287,7 @@ public class DataStore implements AutoCloseable { synchronized (docIdToDoc) { final Expression expression = QueryLanguageParser.parse(query.getQuery()); final ExpressionToDocIdVisitor visitor = new ExpressionToDocIdVisitor(query.getDateRange(), tagToDocsId, - diskStorage); + diskStorage, stringCompressor); final PartitionLongList docIdsList = expression.visit(visitor); EXECUTE_QUERY_LOGGER.debug("executeQuery({}) took {}ms returned {} results ", query, (System.nanoTime() - start) / 1_000_000.0, docIdsList.size()); diff --git a/data-store/src/main/java/org/lucares/pdb/datastore/lang/ExpressionToDocIdVisitor.java b/data-store/src/main/java/org/lucares/pdb/datastore/lang/ExpressionToDocIdVisitor.java index 1161394..970264e 100644 --- a/data-store/src/main/java/org/lucares/pdb/datastore/lang/ExpressionToDocIdVisitor.java +++ b/data-store/src/main/java/org/lucares/pdb/datastore/lang/ExpressionToDocIdVisitor.java @@ -11,7 +11,6 @@ import org.lucares.collections.LongList; import org.lucares.pdb.api.DateTimeRange; import org.lucares.pdb.api.StringCompressor; import org.lucares.pdb.api.Tag; -import org.lucares.pdb.api.Tags; import org.lucares.pdb.blockstorage.LongStreamFile; import org.lucares.pdb.datastore.internal.DatePartitioner; import org.lucares.pdb.datastore.internal.ParititionId; @@ -34,8 +33,12 @@ public class ExpressionToDocIdVisitor extends ExpressionVisitor keyToValueToDocsId, final PartitionDiskStore diskStorage) { + final PartitionPersistentMap keyToValueToDocsId, final PartitionDiskStore diskStorage, + final StringCompressor stringCompressor) { + this.stringCompressor = stringCompressor; this.datePartitioner = new DatePartitioner(dateRange); this.keyToValueToDocId = keyToValueToDocsId; this.diskStorage = diskStorage; @@ -149,9 +152,9 @@ public class ExpressionToDocIdVisitor extends ExpressionVisitor availablePartitionIds = keyToValueToDocId.getAvailablePartitionIds(datePartitioner); for (final ParititionId partitionId : availablePartitionIds) { final List docIdsForPartition = new ArrayList<>(); - keyToValueToDocId.visitValues(partitionId, Tags.STRING_COMPRESSOR.createTag(propertyName, ""), + keyToValueToDocId.visitValues(partitionId, stringCompressor.createTag(propertyName, ""), (tag, blockOffsetToDocIds) -> { - if (valuePattern.matcher(Tags.STRING_COMPRESSOR.getValueAsString(tag)).matches()) { + if (valuePattern.matcher(stringCompressor.getValueAsString(tag)).matches()) { try (final LongStreamFile bsFile = diskStorage.streamExistingFile(blockOffsetToDocIds, partitionId)) {