創建 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"/>