创建 SolrHome(solrCore)
1.解压 solr-4.10.4.tgz 到 /usr/local/solr
2.将 solr-4.10.4/example/solr 下所有文件拷贝到 /usr/local/solrhome (此 solrhome 为自己创建的)
solrhome 是 solr 运行主目录,可包含多个 SolrCore 目录
SolrCore 目录中包含运行 Solr 实例所有配置文件和数据文件,
SolrCore 就表示一个 solr 实例
Tomcat 部署 solr.war,连线 solrhome
1.solr 压缩包 下的 solr-4.10.4/dist 目录中拷贝 solr-4.10.4.war 到 tomcat 安装目录的 webapps 下
cp splr-4.10.4.war /usr/local/tomcat7/apache-tomcat-7.0.77/webapps/
2.启动 tomcat 会自动解压 war 文件,然后关闭 tomcat ,[再删除 solr-4.10.4.war],然后重命名解压的文件夹名为 solr
cd /usr/local/tomcat7/apache-tomcat-7.0.77/bin
./startup.sh (启动成功后 war 包会自动解压缩)
./shutdown.sh (关闭tomcat服务)
4.在 war 解压缩 的 WEB-INF 里面创建 classes 文件夹
5./usr/local/solr/solr-4.10.4/example/lib/ext 目录下的jar包复制到 WEB-INF/lib 中
6./usr/local/solr/solr-4.10.4/example/resources/log4j.properties 拷贝到 WEB-INF/classes
7.修改 web.xml 文件
cd /usr/local/tomcat7/apache-tomcat-7.0.77/webapps/solr/WEB-INF
vim web.xml
8.重启 tomcat ,访问 solr 服务 后面接的是 tomcat 的 webapp 中 war包解压缩出来的 然后 更改为 solr 的项目名称
安装中文 分词器
配置中文分词器 IKAnalyzer
1. IK-Analyzer-2012FF\dist目录下的 jar 包以及两个配置文件上传即可
2.把 IKAnalyzer 依赖的 jar 包添加到 solr工程中
cp IKAnalyzer2012FF_u1.jar /usr/local/tomcat7/apache-tomcat-7.0.77/webapps/solr/WEB-INF/lib
3.把 分析器 使用的配置文件添加到 classpath 中
cp IKAnalyzer.cfg.xml stopword.dic /usr/local/tomcat7/apache-tomcat-7.0.77/webapps/solr/WEB-INF/classes
4.在 solrcore (collection1)中指定中文分析器,需要在 schema.xml 中配置
注意:此时要配置的是 solrhome 里面的东西
cd /usr/local/solrhome/collection1/conf
vim schema.xml 在文件中加入:
<!-- IKAnalyzer-->
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
5.重启 tomcat 检验
建立索引库第一步-自定义域:
修改 Schema.xml 配置文件,
加入如下代码:
<!-- 商品名称 -->
<field name="gname" type="text_ik" indexed="true" stored="true"/>
<!-- 商品价格 -->
<field name="gprice" type="double" indexed="false" stored="true"/>
<!-- 商品图片 -->
<field name="gimage" type="text_ik" indexed="true" stored="true"/>
<!-- 商品介绍 -->
<field name="gdesc" type="text_ik" indexed="ftrue" stored="true"/>
<!-- 目标域-->
<field name="goods" type="text_ik" indexed="true" stored="true" multiValued="true"/>
<!-- 将商品名称添加到目标域 -->
<copyField source="gname" dest="goods"/>
<!-- 将商品介绍添加到目标域 -->
<copyField source="gdesc" dest="goods"/>