forked from gesterzhou/lucene_example
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIntRangeQueryProvider.java
executable file
·42 lines (34 loc) · 1.19 KB
/
IntRangeQueryProvider.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
package examples;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
import org.apache.lucene.document.IntPoint;
import org.apache.lucene.search.Query;
import org.apache.geode.DataSerializer;
import org.apache.geode.cache.lucene.LuceneIndex;
import org.apache.geode.cache.lucene.LuceneQueryException;
import org.apache.geode.cache.lucene.LuceneQueryProvider;
import org.apache.geode.internal.DataSerializableFixedID;
import org.apache.geode.internal.Version;
/* Example:
*
*/
public class IntRangeQueryProvider implements LuceneQueryProvider {
String fieldName;
int lowerValue;
int upperValue;
private transient Query luceneQuery;
public IntRangeQueryProvider(String fieldName, int lowerValue, int upperValue) {
this.fieldName = fieldName;
this.lowerValue = lowerValue;
this.upperValue = upperValue;
}
@Override
public Query getQuery(LuceneIndex index) throws LuceneQueryException {
if (luceneQuery == null) {
luceneQuery = IntPoint.newRangeQuery(fieldName, lowerValue, upperValue);
}
System.out.println("IntRangeQueryProvider, using java serializable");
return luceneQuery;
}
}