Author: echatellier Date: 2011-06-29 16:31:46 +0200 (Wed, 29 Jun 2011) New Revision: 1006 Url: http://nuiton.org/repositories/revision/wikitty/1006 Log: Fix gt, ge, lt, le restrictions Modified: trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/Restriction2Lucene.java trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java Modified: trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/Restriction2Lucene.java =================================================================== --- trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/Restriction2Lucene.java 2011-06-29 13:28:23 UTC (rev 1005) +++ trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/Restriction2Lucene.java 2011-06-29 14:31:46 UTC (rev 1006) @@ -88,7 +88,7 @@ * @throws WikittyException if query can't be parsed */ public Query toLucene(Restriction restriction) throws WikittyException { - + Query query = null; try { @@ -277,7 +277,11 @@ * @return */ protected Query greatEq2Lucene(GreaterOrEqual restriction) { - throw new NotImplementedException("Not yet implemented"); + String fieldName = element2Lucene(restriction.getElement()); + String value = restriction.getValue(); + + TermRangeQuery query = new TermRangeQuery(fieldName, value, "*", true, true); + return query; } /** @@ -285,7 +289,11 @@ * @return */ protected Query great2Lucene(Greater restriction) { - throw new NotImplementedException("Not yet implemented"); + String fieldName = element2Lucene(restriction.getElement()); + String value = restriction.getValue(); + + TermRangeQuery query = new TermRangeQuery(fieldName, value, "*", false, false); + return query; } /** @@ -293,7 +301,11 @@ * @return */ protected Query lessEq2Lucene(LessOrEqual restriction) { - throw new NotImplementedException("Not yet implemented"); + String fieldName = element2Lucene(restriction.getElement()); + String value = restriction.getValue(); + + TermRangeQuery query = new TermRangeQuery(fieldName, "*", value, true, true); + return query; } /** @@ -301,7 +313,11 @@ * @return */ protected Query less2Lucene(Less restriction) { - throw new NotImplementedException("Not yet implemented"); + String fieldName = element2Lucene(restriction.getElement()); + String value = restriction.getValue(); + + TermRangeQuery query = new TermRangeQuery(fieldName, "*", value, false, false); + return query; } /** @@ -337,10 +353,10 @@ */ protected Query or2Lucene(Or or) { if (or.getRestrictions() == null) { - throw new WikittyException("and.restrictions is null"); + throw new WikittyException("or.restrictions is null"); } if (or.getRestrictions().size() < 2) { - throw new WikittyException("AND is an operator that handle 2 operand at least"); + throw new WikittyException("OR is an operator that handle 2 operand at least"); } BooleanQuery query = new BooleanQuery(); for (Restriction restriction : or.getRestrictions()) { Modified: trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java =================================================================== --- trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java 2011-06-29 13:28:23 UTC (rev 1005) +++ trunk/wikitty-lucene/src/main/java/org/nuiton/wikitty/storage/lucene/WikittySearchEngineLucene.java 2011-06-29 14:31:46 UTC (rev 1006) @@ -62,7 +62,6 @@ import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriterConfig; import org.apache.lucene.index.Term; -import org.apache.lucene.index.IndexWriterConfig.OpenMode; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.IndexSearcher;