solr 查询语法

搜索索引

public void testSearch() throws SolrServerException {
SolrServer solr = new HttpSolrServer(urlString);
// 查询对象
SolrQuery query = new SolrQuery();
//设置查询条件,名称“q”是固定的且必须 的
//搜索product_keywords域,product_keywords是复制域包括produ ct_name和
product_description query.set("q", "product_keywords:java教程");
// 请求查询
QueryResponse response = solr.query(query);
// 查询结果
SolrDocumentList docs = response.getResults();
// 查询文档总数
System.out.println("查询文档总数" + docs.getNumFound());
for (SolrDocument doc : docs) {
//商品主键
String id = (String) doc.getFieldValue("id");
//商品名称 Solr 全文检索服务 :
String product_name = (String) doc.getFieldValue("product_name");
//商品价格
Float product_price = (Float) doc.getFieldValue("product_price");
//商品图片
String product_picture = (String) doc.getFieldValue("product_picture");
//商品分类
String product_catalog_name = (String) doc.getFieldValue("product_catalog_name"); System.out.println("=============================");
System.out.println(id); System.out.println(product_name);
System.out.println(product_price); System.out.println(product_picture);
System.out.println(product_catalog_name);
    }
}

 

组合查询

// 根据商品分类、价格范围、关键字查询,查询结果按照价格降序排序
public void testSearch2() throws SolrServerException {
SolrServer solr = new HttpSolrServer(urlString);
// 查询对象
SolrQuery query = new SolrQuery();
// 搜索product_keywords域,product_keywords是复制域包括product_name 和product_description
// 设置商品分类、关键字查询 Solr 全文检索服务 :
// query.set("q", "product_keywords:挂钩 AND product_catalog_name:幽默杂货");
query.setQuery("product_keywords:挂钩 AND product_catalog_name:幽默杂货");
// 设置价格范围
query.set("fq", "product_price:[1 TO 20]"); //[]表示包含1和20 ,{}表示不包含1和20
// 查询结果按照价格降序排序
// query.set("sort", "product_price desc");
query.addSort("product_price", ORDER.desc);
// 请求查询
QueryResponse response = solr.query(query);
// 查询结果
SolrDocumentList docs = response.getResults();
// 查询文档总数
System.out.println("查询文档总数" + docs.getNumFound());
for (SolrDocument doc : docs) {
// 商品主键
String id = (String) doc.getFieldValue("id");
// 商品名称
String product_name = (String) doc.getFieldValue("product_name");
// 商品价格
Float product_price = (Float) doc.getFieldValue("product_price");
// 商品图片
String product_picture = (String) doc .getFieldValue("product_picture");
// 商品分类
String product_catalog_name = (String) doc .getFieldValue("product_catalog_name"); System.out.println("=============================");
System.out.println("id=" + id);
System.out.println("product_name=" + product_name); 
System.out.println("product_price=" + product_price);
System.out.println("product_picture=" + product_picture);
System.out.println("product_catalog_name=" + product_catalog_name);
  }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值