前面已经讲过 如果安装及配置Solr服务器了,那么现在我们就来正式在代码中使用Solr.1,这里Solr主要是怎么使用的呢?
当我们在前台页面搜索商品名称关键词时,我们这时是在Solr库中去查找相应的商品信息,然后将搜索关键词高亮.
2,那么Solr库中的商品信息又是如何添加的呢?
当我们在给商品上架的时候,将商品信息update 到MysqL数据库中的bbs_product表中,然后同样的将相应的信息 添加到Solr库中.接下来就看代码的具体实现吧:
一,商品上架
点击上架触发isShow事件:
接着到Controller层:ProductController.java:
接着看Service层:ProdcutServiceImpl.java:
@Autowired
private SolrServer solrServer;
Product product = product.setIsShow(
SolrInputDocument doc =
doc.setField("id" 名称
Product p = doc.setField("name_ik" 图片URL
doc.setField("url",p.getImgUrls()[0
doc.setField("brandId" SQL查询语句: select price from bbs_sku where product_id = ? order by price asc limit 1
SkuQuery skuQuery = skuQuery.setOrderByClause("price asc" skuQuery.setPageNo(1 skuQuery.setPageSize(1 List skus = doc.setField("price",skus.get(0
}
静态化
}@H_403_64@
这里使用SolrInputDocument 来保存商品信息,其中doc.setField("name_ik",p.getName());的name_ik 是我们在solr 配置文件配置的IK 分词器的字段, doc.setField("url",p.getImgUrls()[0]); 这里我们也只是取第一张图片的url用来展示.这里我们还用到了skuQuery,因为一个商品中不同的颜色不同的尺码都可能有不同的价格,我们在这里 是取到同一个productId下价格最小的来给显示~然后再就是将我们已经设置好的注册好了的,在这里直接注入即可使用.spring来管理Solr:
到了这里上架的功能就做好了,这也是给后面Solr查询做好铺垫.二,前台使用Solr查询到了这里就开始查看前台页面了,前台页面是扒的网上的,具体业务逻辑是自己修改的,页面如下:
拦截器变成了: /,而且过滤掉静态资源,配置如下:首先是babasport-portal project下的web.xml文件: