From a9fbc27c6e71e0c37296f16126c366696a5f0aa4 Mon Sep 17 00:00:00 2001 From: buczekp <buczekp> Date: Fri, 8 Oct 2010 07:54:59 +0000 Subject: [PATCH] [LMS-1829] always use non wildcard mode if search term contains '*' SVN: 18217 --- .../server/dataaccess/db/search/LuceneQueryBuilder.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/LuceneQueryBuilder.java b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/LuceneQueryBuilder.java index 8dc1ded3a50..64459ba08eb 100644 --- a/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/LuceneQueryBuilder.java +++ b/openbis/source/java/ch/systemsx/cisd/openbis/generic/server/dataaccess/db/search/LuceneQueryBuilder.java @@ -78,8 +78,12 @@ public class LuceneQueryBuilder (useWildcardSearchMode == true) ? CHARS_ESCAPED_IN_WILCARD_MODE : CHARS_ESCAPED_IN_BASIC_MODE; String result = escapeQuery(userQuery, escapedChars); - // add '*' wildcard at the beginning and at the end of the query in basic search mode - if (useWildcardSearchMode == false && isQuoted(result) == false) + // add '*' wildcard at the beginning and at the end of the query if all conditions are met: + // 1. in basic search mode + // 2. query is not in quotes + // 3. query doesn't contain '*' + if (useWildcardSearchMode == false && isQuoted(result) == false + && result.contains("*") == false) { result = addWildcards(result); } -- GitLab