安装solr
1:安装 Tomcat到/usr/soft下,解压缩即可(可以自己选择安装路径)。
2.上传solr的安装包到/usr/soft/
命令:
cd /usr/soft/
rz--添加--确定
3:解压 solr。
命令:上传的是zip包,使用unzip解压(如果上传的tar.gz包,使用命令 tar -zxvf solr-4.10.3.zip)
unzip solr-4.10.3.zip
4:把 solr 下的dist目录solr-4.10.3.war部署到 Tomcat\webapps下(去掉版本号)。
命令:
cd /usr/soft/solr-4.10.3/dist
cp solr-4.10.3.war /usr/soft/tomcat/webapps
mv solr-4.10.3.war solr.war
5:启动 Tomcat解压缩 war 包
命令:
cd /usr/soft/tomcat/bin
./startup.sh
6:把solr下example/lib/ext 目录下的所有的 jar 包,添加到 solr 的工程中(\WEB-INF\lib目录下)。
命令:
cd /usr/soft/solr-4.10.3/example/lib/ext
cp jcl-over-slf4j-1.7.6.jar /usr/soft/tomcat/webapps/solr/WEB-INF/lib(jar更换,执行此命令)
7:创建一个 solrhome 。solr 下的/example/solr 目录就是一个 solrhome。复制此目录到D盘改名为solrhome
命令:
cd /usr/soft/solr-4.10.3/example
cp solr /usr/soft/solrhome -r (放在部署有solr的tomcat的同一级目录下)
8:关联 solr 及 solrhome。需要修改 solr 工程的 web.xml 文件。
命令:
cd /usr/soft/tomcat/webapps/solr/WEB-INF
vi web.xml
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/usr/soft/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry> |
去掉注释,保存退出
9:启动 Tomcat
http://IP:8080/solr/
安装IK Analyzer:
1、把IKAnalyzer2012FF_u1.jar 添加到 solr 工程的 lib 目录下
命令:
cd /usr/soft/tomcat/webapps/solr/WEB-INF/lib
rz
2、创建WEB-INF/classes文件夹把扩展词典、停用词词典、配置文件放到 solr 工程的 WEB-INF/classes 目录下。
命令:
cd /usr/soft/tomcat/webapps/solr/WEB-INF
mkdir classes
cd classes
rz
3、修改 Solrhome 的 schema.xml 文件,配置一个 FieldType,使用 IKAnalyzer
命令:
cd /usr/soft/solrhome/collection1/conf
vi schema.xml
G跳到最后,添加下面的代码
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
保存退出
域的配置:
进入schema.xml文件中,在最后添加
<field name="item_goodsid" type="long" indexed="true" stored="true"/>
<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_price" type="double" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category" type="string" indexed="true" stored="true" />
<field name="item_seller" type="text_ik" indexed="true" stored="true" />
<field name="item_brand" type="string" indexed="true" stored="true" />
复制域:作用在于将某一个Field中的数据复制到另一个域中
进入schema.xml文件中,在最后添加
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_category" dest="item_keywords"/>
<copyField source="item_seller" dest="item_keywords"/>
<copyField source="item_brand" dest="item_keywords"/>
动态域:当我们需要动态扩充字段时,我们需要使用动态域。当值不确定时
进入schema.xml文件中,在最后添加
<dynamicField name="item_spec_*" type="string" indexed="true" stored="true" />