您的位置:首页 > 其它

elasticsearch2.1.1实现范围搜索

2016-12-22 15:23 375 查看
直接上代码,网上低版本的一些方法都已经废弃了

public static void test1(){

String index = "zhongdi";//索引

QueryBuilder queryBuilder1 =QueryBuilders.rangeQuery("Lon").from(100).to(129); 

QueryBuilder queryBuilder2 =QueryBuilders.rangeQuery("Lat").from(12.1233).to(20); 

SearchResponse response = ESTools.client.prepareSearch(index) 

.setTypes("SzControlPoint", "GPSControlPoint", "TriControlPoint") //索引类型

.setSearchType(SearchType.DFS_QUERY_THEN_FETCH)

.setPostFilter(queryBuilder1)

.setPostFilter(queryBuilder2)

//.setQuery(QueryBuilders.fieldQuery("name", "张三"))// Query 

.setFrom(0).setSize(6000).setExplain(true) 

.execute() 

.actionGet();

//.setQuery(qsqb);

SearchHits searchHits = response.getHits();// 获取搜索的文档结果

SearchHit[] hites = searchHits.getHits();

for (int i = 0; i < hites.length; i++) {

SearchHit hit = hites[i];

String json = hit.getSourceAsString();

System.out.println(json);

//list.add(json);

}

//HashSet h = new HashSet(list);

//list.clear();

//list.addAll(h); 

//jsonArray2 = JSONArray.fromObject( list );

//String searchResult = jsonArray2.toString();

//return searchResult;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: