Skip to content
Snippets Groups Projects
Commit 800d22bb authored by tpylak's avatar tpylak
Browse files

LMS-1200 Cannot find data sets when the search query contains "-"

SVN: 13104
parent 84c061e6
No related branches found
No related tags found
No related merge requests found
...@@ -48,9 +48,6 @@ public class LuceneQueryBuilder ...@@ -48,9 +48,6 @@ public class LuceneQueryBuilder
public static String adaptQuery(String userQuery) public static String adaptQuery(String userQuery)
{ {
String result = disableFieldQuery(userQuery); String result = disableFieldQuery(userQuery);
result =
removeSurroundingWordSeparators(result,
SeparatorSplitterTokenFilter.WORD_SEPARATORS);
result = replaceWordSeparators(result, SeparatorSplitterTokenFilter.WORD_SEPARATORS); result = replaceWordSeparators(result, SeparatorSplitterTokenFilter.WORD_SEPARATORS);
return result; return result;
} }
...@@ -58,6 +55,10 @@ public class LuceneQueryBuilder ...@@ -58,6 +55,10 @@ public class LuceneQueryBuilder
@Private @Private
static String replaceWordSeparators(String query, char[] wordSeparators) static String replaceWordSeparators(String query, char[] wordSeparators)
{ {
if (looksLikeNumber(query))
{
return query;
}
String queryTrimmed = removeSurroundingWordSeparators(query, wordSeparators); String queryTrimmed = removeSurroundingWordSeparators(query, wordSeparators);
String charsRegexp = createAnyWordSeparatorRegexp(wordSeparators); String charsRegexp = createAnyWordSeparatorRegexp(wordSeparators);
String queryWithoutSeparators = queryTrimmed.replaceAll(charsRegexp, " AND "); String queryWithoutSeparators = queryTrimmed.replaceAll(charsRegexp, " AND ");
...@@ -70,6 +71,12 @@ public class LuceneQueryBuilder ...@@ -70,6 +71,12 @@ public class LuceneQueryBuilder
} }
} }
private static boolean looksLikeNumber(String query)
{
return query.length() > 0 && Character.isDigit(query.charAt(0))
&& Character.isDigit(query.charAt(query.length() - 1));
}
private static String createAnyWordSeparatorRegexp(char[] wordSeparators) private static String createAnyWordSeparatorRegexp(char[] wordSeparators)
{ {
String charsRegexp = "["; String charsRegexp = "[";
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment