solr (1) solr的安装
教程
https://www.w3cschool.cn/solr_doc/solr_doc-ltzn2fm4.html
官方文档 https://lucene.apache.org/solr/guide/7_5/solr-tutorial.html
单机版安装
1.环境
版本solr 7.5 下载地址 http://mirror.bit.edu.cn/apache/lucene/solr/7.5.0/
tomcat 8.5 必须是8.0以上版本
jdk 9 必须是jdk1.8以上版本
centos 7.0
2. 与tomcat整合
解压
unzip solr-7.5.0.zip -C /usr/local
将解压后的solr-7.5.0.zip中的webapp 复制到tomcat的webapps下,并修改名称
cp -r /usr/local/solr-7.5.0/server/solr-webapp/webapp /usr/local/tomcat-9.0.12/webapps/solr
将solr的一些配置文件复制到家目录并改名
cp -r /usr/local/solr-7.5.0/server/solr /data/solrhome
删除configsets
rm -rf configsets
复制配置文件并重命名collection1
cp -r /usr/local/solr-7.5.0/example/example-DIH/solr/solr /data/solrhome/collection1
打开collection1下的core.properties
vi core.properties (名字colletion1随便取)
创建classes文件夹
mkdir /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/classes
复制日志配置文件
cp /usr/local/solr-7.5.0/server/resources/* /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/classes (有用的只有log4j2.xml)
cp /usr/local/solr-7.5.0/server/lib/*.jar /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/lib
cp /usr/local/solr-7.5.0/server/lib/ext/*.jar /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/lib
备注:其中的jetty包没啥用也可以删除
将如下两个包也复制到lib下
cp /usr/local/solr-7.5.0/dist/solr-dataimporthandler*.jar /usr/local/tomcat-9.0.12/webapps/solr/WEB-INF/lib
注释权限并添加家目录
没注释会显现如下错误403没有权限
<env-entry> <env-entry-name>solr/home</env-entry-name> <env-entry-value>/data/solrhome</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
关闭防火墙
systemctl stop firewalld
打开界面
3. 安装ik分词器
下载 http://search.maven.org/#search%7Cga%7C1%7Ccom.github.magese solr7.5
在/data/solrhome/collection1/conf目录下的managed-schema文件中添加如下配置
<fieldType name="text_ik" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/> <filter class="solr.LowerCaseFilterFactory"/> </analyzer> </fieldType>
原配置基本语义的解释
type :类型 indexed 索引 stored 存储 required 是否必须 multivalued 是否可分割 name 名称
4. solcloud集群搭建
安装3个zookeeper,组成zookeeper集群,见zookeeper
端口分别是2181,2182,2183
集群与选举端口
server.1=192.168.1.128:2881:3881 server.2=192.168.1.128:2882:3882 server.3=192.168.1.128:2883:3883
上传solrcloud配置文件
./zkcli.sh
这个命令,必须保证zookeeper集群是开着的./zkcli.sh
-zkhost 192.168.1.128:2181, 192.168.1.128:2182, 192.168.1.128:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf
进入zookeeper中使用zkCli.sh
然后查看是否上传成功
4个tomcat,单机版的安装见上述
端口分别是8081,80828078,8087
需要修改的地方
修改配置solrhome的solr.xml,换成相应的端口名与地址
换成相应的地址(位置单机版中有)
添加配置tomcat的bin的catalina.sh
JAVA_OPTS="-DzkHost=192.168.1.128:2181,192.168.1.128:2182,192.168.1.128:2183"
修改/solrhome1/collection1中的core.properties
#节点名称,每个core不一样 coreNodename=c1 #分片名称,每个保持不一样 shard=s1
zookeeper使用自定义脚本启动,然后tomcat全部启动,登录界面