solr 5.5.0 查询方法,示例

public void queryById(){
SolrDocument doc = search.queryById("test_id_0005");

logger.info(doc.toString());
}


/**
* 一般查询
*
*/
public void queryNomal(){

SolrQuery query = new SolrQuery();
//设置查询条件
query.setQuery("webSiteName_s:百度贴吧 OR webSiteName_s:百度搜索");
query.setStart(0);
query.setRows(10);
query.setSort("id", ORDER.desc);

//设置查询后,结果集的过滤
query.setFilterQueries("!webSiteName_s:腾讯*",
"id:[test_id_000967 TO test_id_000994]");

//设置展示的字段
query.setFields("webSiteName_s","id","content_zhn");

QueryResponse qrsp = search.query(query);

//打印文档信息
this.printMsg(qrsp);
}




//---------------------------------------------------------------------
/**
*
* 分组查询方法
*
*/
public void queryFacet(){
SolrQuery query = new SolrQuery();
//设置查询条件
query.setQuery("*:*");
query.setStart(0);
query.setRows(0);

//开启分类 开关
query.setFacet(true);

//设置 分类 字段
query.addFacetField("webSiteName_s");

//设置前缀
//query.setFacetPrefix("百度");
//query.setFacetPrefix("webSiteName_s", "百度");

//设置列出的 分类个数
query.setFacetLimit(10);

//设置最小统计数
query.setFacetMinCount(10);
//设置排序方式   “count”  与 “index” 两种
query.setFacetSort("count");

QueryResponse qrsp = search.query(query);

List<FacetField> facets = qrsp.getFacetFields();

for (FacetField facetField : facets) {
logger.info(facetField.getName()+"...................");
for (Count c : facetField.getValues()) {
//打印 名称  与统计个数
logger.info(" name:" + c.getName() +" count:" + c.getCount());
}
}

//打印文档信息
this.printMsg(qrsp);
}

猜你喜欢

转载自yylcslg.iteye.com/blog/2280648
今日推荐