From c6a1291ee6c9da9e13c0fc6465a2acb5f59e5bf4 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Thu, 13 Sep 2018 07:55:13 +0200 Subject: [PATCH] the pattern must match the property value exactly, when matching property values to the query. This is important when you have a property value that is a prefix of another property value, e.g., AuditService.logEvent and AuditService.logEvents. --- .../lucares/pdb/datastore/lang/ExpressionToDocIdVisitor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 a1a7710..70039d1 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 @@ -165,7 +165,7 @@ public class ExpressionToDocIdVisitor extends ExpressionVisitor { final Map valueToDocId = keyToValueToDocId.getOrDefault(propertyName, EMPTY_VALUES); for (final Entry entry : valueToDocId.entrySet()) { - if (valuePattern.matcher(entry.getKey()).find()) { + if (valuePattern.matcher(entry.getKey()).matches()) { result.add(entry.getValue()); } }