当前位置: 首页 > elasticsearch, 搜索 > 正文

elasticsearch RangeFilter实例

1 星2 星3 星4 星5 星 (2 次投票, 评分: 5.00, 总分: 5)
Loading ... Loading ...
baidu_share

需求:我们搜索文章范围在近一年之内。这时候我们就用到elasticsearch RangeFilter了
具体例子如下:

            long current=System.currentTimeMillis()/1000l;
	    Calendar ca = Calendar.getInstance();//得到一个Calendar的实例  
	    ca.setTime(new Date());   //设置时间为当前时间  
	    ca.add(Calendar.YEAR, -1); //年份减1  
	    Date lastYear = ca.getTime(); 
 
	 QueryStringQueryBuilder queryBuilder = new QueryStringQueryBuilder("中国经济");
        queryBuilder.analyzer("ik").field("title");    
 
        FilteredQueryBuilder query = QueryBuilders.filteredQuery(
      		  queryBuilder, 
                FilterBuilders.boolFilter()
                .must(FilterBuilders.rangeFilter("updatetime").from(lastYear.getTime()/1000l).to(current)));

参考资料:
http://www.elasticsearch.org/guide/reference/query-dsl/range-query/

本文固定链接: http://www.chepoo.com/elasticsearch-range-filter-demo.html | IT技术精华网

elasticsearch RangeFilter实例:等您坐沙发呢!

发表评论