开始前
环境:solr4.10.3,jdk1.7,tomcat7
下载地址:http://archive.apache.org/dist/lucene/solr/
说明:solr和lucen更新是同步的,请配对使用,lucene用什么版本solr就用什么版本
将下载的zip解压,solr本身集成了jetty服务器,可以直接启动
cmd命令启动
然后直接访问:http://127.0.0.1:8983/solr
配置
1,solr的配置
solrHome是solr服务运行的主目录,一个SolrHome目录中包含多个solrcore,而solrcore包含solr的配置文件和数据
一般一个solrcore里面配置了一个项目的数据库数据
1,建立一个work,作为solrHome的根目录
2,将解压的solr4.10.3\example\solr,复制到work中,并改名为solrHome
3,最终可以看到一个默认的solrcore
4,配置work\solrhome\collection1\conf\solrconfig.xml文件
lib标签:引用拓展的jar包,例如后面会使用到数据库的驱动包。方便管理你可以使用时先将jar包放在指定的目录,再加载路径
datadir标签:配置solrcore的data目录,data目录用来存放solrcore的索引文件和tlo日志文件,solr.data.dir表示${SolrCore}/data的目录位置。已经配置好,一般不用修改
requesthandler标签:requesthandler请求处理器,定义了索引和搜索的访问方式
通过/updat维护索引,可以完成索引的添加、删除、修改操作:
/select,当然就是查询了:
参数说明:
<requestHandler name="/select" class="solr.SearchHandler">
<!-- 设置默认的参数值,可以在请求地址中修改这些参数-->
<lst name="defaults">
<str name="echoParams">explicit</str>
<int name="rows">10</int><!--显示数量-->
<str name="wt">json</str><!--显示格式-->
<str name="df">text</str><!--默认搜索字段-->
</lst>
</requestHandler>
2,tomcat配置
tomcat与work同级目录,自行配置tomcat的端口,不冲突就好
1,将solr.war文件拷贝到tomcat的webapps下,解压war,得到的文件夹保留,然后删了war
2,把solr解压包下solr-4.10.3\example\lib\ext目录下的所有jar包拷贝到Tomcat部署solr的WEB-INF/lib文件夹
3,把solr解压包下solr-4.10.3\example\resources\log4j.properties文件,复制到Tomcat的webapps下,solr中的WEB-INF\classes目录下(如果没有classes目录,创建一个)
4,修改web.xml,让Tomcat使用JNDI的方式告诉solr服务器SolrHome位置
5,启动tomcat 即可
部署一个项目的数据
1,配置中文分词器
分词器Github:https://github.com/magese/ik-analyzer-solr7,里面有下面两个1、2步骤的jar包及文件
1,在solrconfig.xml(work\solrhome\collection1\conf\solrconfig.xml)中加载中文分词器的jar包
2,将以下文件放到tomcat solr项目中的classes文件夹中
2,scheme.xml文件
1,配置IK分词器的域类型
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"></analyzer>
</fieldType>
2,然后使用ik分词器
3,重新启动tomcat,分词器已生效
3,同步关系数据库中的数据到solr
1,配置数据库字段,同样在scheme.xml文件。
solr唯一约束:id
其他字段
4,配置导入数据的请求处理器,数据库驱动包
1,上面配置solrConfig.xml说到的lib加载标签
5,配置数据导入处理器,导入数据库数据,加载数据库配置文件
6,新建data-config.xml,与solrconfig同级
7,启动tomcat
1,如果solrcore是复制过来的,那么数据可能会有残留,刚开始可以先删除索引库,选择xml。此步骤是删除索引库,谨慎操作
2,导入要使用的数据。其实就是执行上面data-config的内容
3,点击刷新状态,成功
solr的配置就到这里了。下面是java代码的使用
8,数据的检索
1,将httpsolrserver
2,查询全部的索引库数据