diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/DoubleTokenFilter.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/DoubleTokenFilter.java index ae87ed6e6b..462df15554 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/DoubleTokenFilter.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/DoubleTokenFilter.java @@ -49,11 +49,18 @@ public class DoubleTokenFilter extends Tokenizer Token candidate; while((candidate = baseTokeniser.next()) != null) { - Double d = Double.valueOf(candidate.termText()); - String valueString = NumericEncoder.encode(d.doubleValue()); - Token doubleToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), - candidate.type()); - return doubleToken; + try + { + Double d = Double.valueOf(candidate.termText()); + String valueString = NumericEncoder.encode(d.doubleValue()); + Token doubleToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), + candidate.type()); + return doubleToken; + } + catch (NumberFormatException e) + { + // just ignore and try the next one + } } return null; } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/FloatTokenFilter.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/FloatTokenFilter.java index 387707e1b6..c591ef2724 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/FloatTokenFilter.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/FloatTokenFilter.java @@ -49,11 +49,18 @@ public class FloatTokenFilter extends Tokenizer Token candidate; while((candidate = baseTokeniser.next()) != null) { - Float floatValue = Float.valueOf(candidate.termText()); - String valueString = NumericEncoder.encode(floatValue.floatValue()); - Token floatToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), - candidate.type()); - return floatToken; + try + { + Float floatValue = Float.valueOf(candidate.termText()); + String valueString = NumericEncoder.encode(floatValue.floatValue()); + Token floatToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), + candidate.type()); + return floatToken; + } + catch (NumberFormatException e) + { + // just ignore and try the next one + } } return null; } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/IntegerTokenFilter.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/IntegerTokenFilter.java index 0531e78394..c0a481b640 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/IntegerTokenFilter.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/IntegerTokenFilter.java @@ -49,11 +49,18 @@ public class IntegerTokenFilter extends Tokenizer Token candidate; while((candidate = baseTokeniser.next()) != null) { - Integer integer = Integer.valueOf(candidate.termText()); - String valueString = NumericEncoder.encode(integer.intValue()); - Token integerToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), - candidate.type()); - return integerToken; + try + { + Integer integer = Integer.valueOf(candidate.termText()); + String valueString = NumericEncoder.encode(integer.intValue()); + Token integerToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), + candidate.type()); + return integerToken; + } + catch (NumberFormatException e) + { + // just ignore and try the next one + } } return null; } diff --git a/source/java/org/alfresco/repo/search/impl/lucene/analysis/LongTokenFilter.java b/source/java/org/alfresco/repo/search/impl/lucene/analysis/LongTokenFilter.java index 79e00d9326..25be1eb13c 100644 --- a/source/java/org/alfresco/repo/search/impl/lucene/analysis/LongTokenFilter.java +++ b/source/java/org/alfresco/repo/search/impl/lucene/analysis/LongTokenFilter.java @@ -19,6 +19,7 @@ package org.alfresco.repo.search.impl.lucene.analysis; import java.io.IOException; import java.io.Reader; +import org.alfresco.error.AlfrescoRuntimeException; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.Tokenizer; import org.apache.lucene.analysis.standard.StandardTokenizer; @@ -49,11 +50,18 @@ public class LongTokenFilter extends Tokenizer Token candidate; while((candidate = baseTokeniser.next()) != null) { - Long longValue = Long.valueOf(candidate.termText()); - String valueString = NumericEncoder.encode(longValue.longValue()); - Token longToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), - candidate.type()); - return longToken; + try + { + Long longValue = Long.valueOf(candidate.termText()); + String valueString = NumericEncoder.encode(longValue.longValue()); + Token longToken = new Token(valueString, candidate.startOffset(), candidate.startOffset(), + candidate.type()); + return longToken; + } + catch (NumberFormatException e) + { + // just ignore and try the next one + } } return null; }