单机版

安装环境

上传压缩包到/usr/local/software/下

解压安装包,进入解压目录的bin目录下,启动命令:

./solr start -force

默认端口是8983,请求虚拟机, http://地址:8983/solr/

进入/usr/local/software/solr-7.7.1/server/solr,创建new_core文件夹,这个名字可以自定义

将solr-7.7.1/server/solr/configsets/_default/conf文件夹复制到new_core下

点击页面中的Core Admin这里的instanceDir和刚才创建的new_core文件夹名字是对应的

点击Add Core

创建成功后:

 

中文分词

 

配置中文分词,中文分词需要的资源在这个压缩包下:

把中文分词的jar包复制到solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib下

在new_core/conf下有一个managed-schema文件,编辑文件,在文件结束标签之前中加入:

<fieldType name="text_ik" class="solr.TextField">

<analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>

</fieldType>

重启solr,选择中文分词器,可以对中文进行分析

./solr stop

导入数据库数据

如果需要从数据库中批量导入数据,可以使用Dataimport

修改new_core/conf下的solrconfig.xml,加入如下内容

在new_core的conf下创建,创建data-config.xml

在data-config.xml中加入如下内容:

<dataConfig>

<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/travel_db?characterEncoding=utf-8" user="root" password="root" />

<document>

<entity name="hotel" query="select ID,TITLE,PRICE,IMAGE,CITY_NAME, CITY_ID from HOTEL" dataSource="JdbcDataSource">

<field column="ID" name="id" />

<field column="TITLE" name="item_title" />

<field column="PRICE" name="item_price" />

<field column="CONTENT" name="item_content" />

<field column="IMAGE" name="item_image" />

<field column="CITY_NAME" name="item_city_name" />

<field column="CITY_ID" name="item_city_id" />

</entity>

</document>

</dataConfig>

 

new_core/conf下有一个managed-schema文件加入

<field name="item_title" type="text_ik" indexed="true" stored="true"/>

<field name="item_price" type="plong" indexed="true" stored="true"/>

<field name="item_city_id" type="plong" indexed="true" stored="true"/>

<field name="item_city_name" type="string" indexed="true" stored="true" />

<field name="item_image" type="string" indexed="true" stored="true" />

<field name="item_content" type="text_ik" indexed="true" stored="false" />

 

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

<copyField source="item_title" dest="item_keywords"/>

<copyField source="item_city_name" dest="item_keywords"/>

<copyField source="item_content" dest="item_keywords"/>

修改solrhome/new_core/conf/solrconfig.xml,设置默认查找字段(非必须):

把solr-7.7.1/dist下两个solr-dataimporthandler的jar复制到solr-7.7.1/server/solr-webapp/webapp/WEB-INF/lib下,还要连接数据库的驱动包mysql-connector-java.jar

重启solr

查询

 

集群版

搭建zookeeper集群

复制三份单机版的zookeeper,分别复制到solr-cloud下的zookeeper01、zookeeper02、zookeeper03中。也可以使用zookeeper的安装包解压过来。

修改zookeeper0x/conf/zoo.conf,其中x代表1/2/3

dataDir分别是zookeeper01、zookeeper02、zookeeper03下的data目录,如果你是解压过来的,这个data需要你自己创建。如果你是复制的单机版,data下面可能有东西,把data文件夹下所有的文件夹都删掉,保证data文件夹是空的。

clientPort默认是2181,因为2181 被单机版的zookeeper占用了,所以这里换2281,zookeeper02就是2282,zookeeper03就是2283

三个zookeeper的zoo.conf文件末尾都要追加:

server.1=127.0.0.1:2881:3881

server.2=127.0.0.1:2882:3882

server.3=127.0.0.1:2883:3883

其中127.0.0.1应该改成你服务器的真实ip,因为我们搭在一台机器上,可以使用本机地址,避免你虚拟机ip改变后无法使用集群。第一个端口是zk内部通信端口,第二个是投票端口

启动服务,命令是:

/usr/local/software/solr-cloud/zookeeper01/bin/zkServer.sh start

/usr/local/software/solr-cloud/zookeeper02/bin/zkServer.sh start

/usr/local/software/solr-cloud/zookeeper03/bin/zkServer.sh start

查看集群状态

安装solr

安装4个solr,或者把单机版的solr复制4遍。

修改每个solr 的/bin/solr.in.sh,配置zookeeper集群地址和solr地址

修改端口,每个端口不以一样

 

修改每个solr下的server/solr/solr.xml

在任意一个solr的bin目录执行,

./solr create -c collection5 -s 2 -rf 2 -force

其中-c是创建集合 -s是分片个数 -rf副本个数

启动每个solr