From 77d7570e48559d2f9504c34b0b30884265e60f99 Mon Sep 17 00:00:00 2001 From: adam-m Date: Thu, 17 May 2012 15:04:24 -0400 Subject: [PATCH] Improve highlight query in case of a regex with dir tree / blackboard saved results, now it should not return chunks that do not have exact regex match --- .../autopsy/keywordsearch/HighlightedMatchesSource.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java index 4d99d9834c..5e4f33e4a8 100644 --- a/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java +++ b/KeywordSearch/src/org/sleuthkit/autopsy/keywordsearch/HighlightedMatchesSource.java @@ -135,9 +135,13 @@ class HighlightedMatchesSource implements MarkupSource, HighlightLookup { chunksQuery.escape(); } */ - Keyword keywordQuery = new Keyword(this.keywordHitQuery, false); + String queryStr = KeywordSearchUtil.escapeLuceneQuery(this.keywordHitQuery, true, false); + if (isRegex) { + //use white-space sep. field to get exact matches only of regex query result + queryStr = Server.Schema.CONTENT_WS + ":" + "\"" + queryStr + "\""; + } + Keyword keywordQuery = new Keyword(queryStr, false); chunksQuery = new LuceneQuery(keywordQuery); - chunksQuery.escape(); KeywordQueryFilter contentIdFilter = new KeywordQueryFilter(FilterType.CHUNK, contentId); chunksQuery.setFilter(contentIdFilter); try {