全文检索系统
什么是全文检索?
答:在当前站点中的所有数据都将会被当做搜索的目标,通过一个关键字,可以把处于不同位置的相关数据都检索出来,以列表的方式进行显示。
普通情况下,根据关键字查询数据库,用模糊查询的方式:
select * from ajia_item where title like ‘%电脑%’ ;
这种模糊查询效率极低。
如果数据量非常大,需要提高查询效率,可以为title字段添加索引(index)。但是模糊查询没有办法使用索引。通过索引查询是精确查询。
所以,既要能根据关键字将所有相关的数据查出来,又要保证查询效率,我们用全文检索。
全文检索的原理?
答:先对字段信息进行分词处理,然后再对字段加索引。
常见的全文检索引擎?
答:Lucene和Solr。我们用Solr。
使用Solr的步骤?
答:
1. 安装Solr
2. 配置业务域(商品Id、商品标题、商品卖点、商品价格、商品图片、分类名称)
3. 查询商品列表,并使用SolrJ将商品列表导入Solr索引数据库
4. 使用SolrJ查询索引库,将查询结果转为商品列表,传递给jsp页面,返回逻辑视图