目录:
- 目标案例:电商搜索
- Solr安装配置
a)Solr整合tomcat (solr内置小服务器,一般不用)
b)Solr后台管理功能介绍
c)配置中文分析器
Solr在项目中的应用及电商搜索实现 - 使用的Solr后台管理索引库
d)添加文档
e)删除文档
f)修改文档
g)查询文档 - 使用的SolrJ 管理索引库
a)添加文档
b)删除文档
c)修改文档
d)查询文档 - 电商搜索案例的实现
a)案例分析
b)案例实现
1. 案例:电商搜索
1>使用Solr实现电商网站中商品信息搜索功能,可以根据关键字、分类、价格搜索
商品信息,也可以根据价格进行排序
2>需求分析:
大型网站通常需要站内搜索;
传统数据库查询满足不了高级搜索功能:如搜索速度要快,搜索结果按相关度排序、搜索关键字格式不固定等;
使用Luncene实现:工作量太大
使用Solr实现:提供较为完整的搜索引擎解决方案
2. Solr是什么
1>Apache下的顶级开源项目,采用Java开发.....
2>Luncene vs Solr
3>Solr原理图
3. Solr安装及配置
3.1 Solr下载
官网下载4.10.3
3.2 Solr的目录结构
- bin:大量的Solr控制台管理工具存在该目录下。
- contrib:该文件包含大量关于Solr的扩展。分别如下:
- dist:在这里能找到Solr的核心JAR包和扩展JAR包。当我们试图把Solr嵌入到某个应用程序的时候会用到核心JAR包。
- example:包含Solr的简单示例。
* lib:依赖包,ext下的包要导入
* webapps: solr.war
* solr:索引库存放位置(数据库是项目的家)
3.3 运行环境
Solr需要运行在一个Servlet容器中,此处用tomcat
Solr:4.10.3
jdk:1.7.0_72
Tomact:apache-tomcat-7.0.53
3.4 Solr整合Tomcat(三步)
1. solr\solr-4.10.3\example\webapps\solr.war放入tomcat的webapp下,解压并删除原来的war包。
2.solr\solr-4.10.3\example\lib\ext中的依赖包放入D:\Users\(我的名字)\workspace\solr\apache-tomcat-7.0.53\webapps\solr\WEB-INF\lib。
3.创建文件夹solrhome将.solr\solr-4.10.3\example\solr中的东西全部拷入(搭建solr集群的时候会有很多solrhome),在tomcat/webapps/solr/WEB-INF/web.xml中配置;将<env-entry>的注释打开将solrhome的路径粘贴到<env-entry-value>中。
4. Solr配置中文分析器
4.1 Schema.xml (配置大量的域)
位置:workspace\solr\solrhome\collection1\conf\schema.xml
4.2 配置中文分词器IKAnakyzer(共三步)
1) 将IKAnakyzer的jar包拷贝到solr中tomcat的web-inf的lib下。即
2)将分词器的字典放到solr中tomcat下的classes中。即将
注:字典的编辑要用utf-8无BOM格式编辑
3)配置Solr的配置文件schema.xml,重启tomcaat,登录localhost:8080/solr进行分析测验。
5. Solr后台管理界面的增删改查
增删改使用Documents钮,删的时候选择XML类型,语句类似于
<delete>
<id>change.me</id>
</delete>
<commmit/>
查使用Query按钮