From 04fb197322e967bd2d5b78bba4bdd71fb31454d3 Mon Sep 17 00:00:00 2001 From: millmanorama Date: Fri, 20 Jan 2017 17:10:31 +0100 Subject: [PATCH] break while(hitMatcher.find()) loop if we find a hit inside the window. --- .../src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java index 4456d4592a..7afb37fcdd 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/RegexQuery.java @@ -217,6 +217,7 @@ final class RegexQuery implements KeywordSearchQuery { List hits = new ArrayList<>(); final String docId = solrDoc.getFieldValue(Server.Schema.ID.toString()).toString(); + final Integer chunkSize = (Integer) solrDoc.getFieldValue(Server.Schema.CHUNK_SIZE.toString()); String content = solrDoc.getOrDefault(Server.Schema.CONTENT_STR.toString(), "").toString(); //NON-NLS @@ -241,6 +242,11 @@ final class RegexQuery implements KeywordSearchQuery { while (hitMatcher.find(offset)) { StringBuilder snippet = new StringBuilder(); + + if (hitMatcher.start() >= chunkSize) { + break; + } + String hit = hitMatcher.group(); // Back the matcher offset up by 1 character as it will have eaten