安装jdk1.8
yum install java-1.8.0-openjdk* -y
查看版本号
java -version
image.png
1、安装solr
wget http://mirror.bit.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz
tar -zxvf solr-7.4.0.tgz
mv solr-7.4.0 /usr/local/solr
启动
/usr/local/solr/bin/solr start -force
浏览器打开
http://192.168.1.190:8983
按以下步骤操作
image.png
这是因为新建的core没有配置文件将配置文件复制到新建的core下再点击第三步的 Add Core就可以了
cp -r /usr/local/solr/server/solr/configsets/_default/conf/ /usr/local/solr/server/solr/test/
image.png
2、添加自带的中文分词
cp /usr/local/solr/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-7.4.0.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib/
修改配置文件
在 <fieldType name="text_cjk" class="solr.TextField" positionIncrementGap="100">这个fieldType后面添加内容
vim /usr/local/solr/server/solr/test/conf/managed-schema
<!-- Chinese -->
<fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
</analyzer>
</fieldType>
image.png
配置中文分词器 IK-Analyzer-Solr7
wget http://search.maven.org/remotecontent?filepath=com/github/magese/ik-analyzer-solr7/7.x/ik-analyzer-solr7-7.x.jar
cp remotecontent\?filepath\=com%2Fgithub%2Fmagese%2Fik-analyzer-solr7%2F7.x%2Fik-analyzer-solr7-7.x.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib/
在自带的分词配置后面添加内容
vim /usr/local/solr/server/solr/test/conf/managed-schema
<!-- ik分词器 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" conf="ik.conf" useSmart="false"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
<analyzer type="query">
<tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" conf="ik.conf" useSmart="true"/>
<filter class="solr.LowerCaseFilterFactory"/>
</analyzer>
</fieldType>
重启solr
/usr/local/solr/bin/solr restart -force
image.png
image.png
image.png
到此分词配置成功
配置数据库连接
java连接类最新下载地址http://central.maven.org/maven2/mysql/mysql-connector-java/
配置连接
wget http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.11/mysql-connector-java-8.0.11.jar
cp mysql-connector-java-8.0.11.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib/
cp /usr/local/solr/dist/solr-dataimporthandler-7.4.0.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib/
cp /usr/local/solr/dist/solr-dataimporthandler-extras-7.4.0.jar /usr/local/solr/server/solr-webapp/webapp/WEB-INF/lib/
在<requestHandler name="/select" class="solr.SearchHandler">前面加上内容
vim /usr/local/solr/server/solr/test/conf/solrconfig.xml
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">mysql-db/data-config.xml</str>
</lst>
</requestHandler>
image.png
新建数据库连接文件,写入配置内容
mkdir -p /usr/local/solr/server/solr/test/conf/mysql-db
vim /usr/local/solr/server/solr/test/conf/mysql-db/data-config.xml
<dataConfig>
<dataSource name="source1" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/shop" user="root" password="123456" />
<document>
<entity name="users" query="select * from users" pk="id" dataSource="source1">
<field column="name" name="name" />
<field column="age" name="age" />
<field column="info" name="info" />
</entity>
</document>
</dataConfig>
在managed-schema里添加shop数据库user表字段
image.png
vim /usr/local/solr/server/solr/test/conf/managed-schema
<field name="age" type="string" indexed="true" stored="true"/>
<field name="info" type="string" indexed="true" stored="true"/>
<field name="name" type="string" indexed="true" stored="true"/>
image.png
重启solr
/usr/local/solr/bin/solr restart -force
查看字段是否添加成功,这里也可以直接点击Add Field添加字段,就不用在配置文件里加
image.png
导入mysql数据
image.png
点击Execute导入后点击Refresh Status可以刷新看到导入数据的状态
查看数据库与导入数据是否一致
image.png
image.png
数据一致
网友评论