1.1.1 安装jdk
Solr首先需要安装jdk环境。
yum -y install glibc.i686 #jdk依赖glibc
mkdir /usr/local/src/java #按习惯用户自己安装的软件存放到/usr/local/src目录下
rz 上传jdk tar包 #利用xshell的rz命令上传文件
tar -xvf jdk-7u51-linux-x64.tar.gz #解压压缩包
配置环境变量
1)vi /etc/profile
2)在尾行添加
#set java environment
JAVA_HOME=/usr/local/src/java/jdk1.7.0_51
JAVA_BIN=/usr/local/src/java/jdk1.7.0_51/bin
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
保存退出
3)source /etc/profile 使更改的配置立即生效
4)java -version 查看JDK版本信息。如显示1.7.0证明成功。
1.1.2 Solr安装
solr基于java环境,必须先安装java并配置JAVA_HOME。
mkdir /usr/local/src/solr
上传文件:solr-5.2.1.tgz
tar xzf solr-5.2.1.tgz
cd solr-5.2.1/bin
./solr start #启动solr
注意必须先启动一次,再配置中文分词等。这样内部会去复制war到,进行解压。
1.1.3 远程拷贝(5.1的版本无需此步骤)
scp [要拷贝的文件] [远程主机的用户名]@[IP或域名地址]:[复制的目的路径]
scp solr.jar root@10.10.192.166:/usr/local/src/solr
1.1.4 打开8983端口
/sbin/iptables -I INPUT -p tcp --dport 8983 -j ACCEPT
/etc/rc.d/init.d/iptables save #修改生效
http://192.168.1.105:8983/solr/ #访问solr
1.1.5 创建jt项目的solr目录
创建core时不会自动创建目录。
cd /usr/local/src/solr/solr-5.2.1/server/solr
mkdir jt
mkdir jt/conf
mkdir jt/data
将schema.xml,solrconfig.xml,复制到conf目录下
如果需要实现数据导入必须复制下面3个文件到conf目录下
./example-DIH/solr/solr/conf/admin-extra.html
./example-DIH/solr/solr/conf/admin-extra.menu-bottom.html
./example-DIH/solr/solr/conf/admin-extra.menu-top.html
1.1.6 schema.xml
<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.5">
<field name="_version_" type="long" indexed="true" stored="true"/>
<field name="_root_" type="string" indexed="true" stored="false"/>
<field name="id" type="int" indexed="true" stored="true" required="true" multiValued="false" />
<field name="title" type="text_ik" indexed="true" stored="true"/>
<field name="sellPoint" type="text_ik" indexed="true" stored="true"/>
<field name="price" type="long" indexed="true" stored="true"/>
<field name="num" type="int" indexed="true" stored="true"/>
<field name="image" type="string" indexed="false" stored="true"/>
<field name="created" type="date" indexed="true" stored="true"/>
<field name="updated" type="date" indexed="true" stored="true"/>
<field name="text" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="title" dest="text"/>
<copyField source="sellPoint" dest="text"/>
<copyField source="price" dest="text"/>
<uniqueKey>id</uniqueKey>
<types>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0" positionIncrementGap="0"/>
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
</types>
</schema>
注意:schema中的字段类型一定要与pojo属性类型一致。
1.1.7 集成IKAnalyzer中文分词器
- 将ik-analyzer-5.3.0.jar拷贝到
/usr/local/src/solr/solr-5.2.1/server/solr-webapp/webapp/WEB-INF/lib下
- 在schema.xml文件中添加fieldType
<fieldType name="text_ik" class="solr.TextField">
<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
- 将需要中文分词器的类型改为text_ik,新定义的类型
<field name="title" type="text_ik" indexed="true" stored="true"/>
<field name="sell_point" type="text_ik" indexed="true" stored="true"/>
添加中文分词:
将IKAnalyzer.cfg.xml,ext.dic,stopword.dic 放入
/usr/local/src/solr/solr-5.2.1/server/solr-webapp/webapp/WEB-INF/classes目录
1.1.8 需要拷贝jar包
/usr/local/src/solr/solr-5.2.1/server/solr-webapp/webapp/WEB-INF/lib目录
ik-analyzer-5.3.0.jar
mysql-connector-java-5.1.28-bin.jar
在/solr-5.2.1/dist目下,拷贝到上面的目录下
solr-dataimporthandler-5.2.1.jar
solr-dataimporthandler-extras-5.2.1.jar
1.1.9 启动-重新启动-停止solr
./solr stop –all #停止服务
./solr start #启动服务
./solr restart #重启服务
1.1.10 创建Core
1.1.11 创建成功
1.1.12 测试是否成功