TermRangeQuery是用于字符串范围查询的,既然涉及到范围必然需要字符串比较大小,字符串比较大小其实比较的是ASC码值,即ASC码范围查询。一般对于英文来说,进行ASC码范围查询还有那么一点意义,中文汉字进行ASC码值比较没什么太大意义,所以这个TermRangeQuery了解就行,用途不太大,一般数字范围查询NumericRangeQuery用的比较多一点,比如价格,年龄,金额,数量等等都涉及到数字,数字范围查询需求也很普遍。
我们来看看官方API里是怎么解释这个Query的:
意思就是这个Query通过一个范围内的Term来匹配索引文档,这个Query通过一组Term来查找索引文档,哪些Term呢?that后面是解释根据比较byte值落入提供的范围内的Term.但这个Query不适用于数字范围查询,数字范围查询请使用NumericRangeQuery代替。
下面是TermRangeQuery的使用示例:
package com.yida.framework.lucene5.query;
import java.io.IOException;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import org.apache.lucene.docum