安装jdk1.8
yum install java-1.8.0-openjdk* -y
查看版本号
java -version
![13034051-6d8786b84db4914a.png](https://i-blog.csdnimg.cn/blog_migrate/32d4f0611931b0ac6bd0aeb082fa29f2.webp?x-image-process=image/format,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
按以下步骤操作
![13034051-69191dab25094060.png](https://i-blog.csdnimg.cn/blog_migrate/e1261aac0b451d6a512a6a9f4217d27f.webp?x-image-process=image/format,png)
这是因为新建的core没有配置文件将配置文件复制到新建的core下再点击第三步的 Add Core就可以了
cp -r /usr/local/solr/server/solr/configsets/_default/conf/ /usr/local/solr/server/solr/test/
![13034051-4eaa86e93d45d525.png](https://i-blog.csdnimg.cn/blog_migrate/904c673a7f7e32a0b9696dec82cfbded.webp?x-image-process=image/format,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>
![13034051-814ea0994c8a2e72.png](https://i-blog.csdnimg.cn/blog_migrate/29d1650d6f4ae5390f16b286c8d9cec8.webp?x-image-process=image/format,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
![13034051-22d5a20262b381ef.png](https://i-blog.csdnimg.cn/blog_migrate/769ebf3689828a78e6404e2cf93f78fc.webp?x-image-process=image/format,png)
![13034051-12c16f93eb907b5e.png](https://i-blog.csdnimg.cn/blog_migrate/593293f48243ed733ed073732f8aa0f3.webp?x-image-process=image/format,png)
![13034051-8163ed687d5eacab.png](https://i-blog.csdnimg.cn/blog_migrate/39b6b81a2295417635738644d4234390.webp?x-image-process=image/format,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>
![13034051-cd761105e4a45366.png](https://i-blog.csdnimg.cn/blog_migrate/35ff6a585ec81e846eff212d9b72ed14.webp?x-image-process=image/format,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表字段
![13034051-eebe23eac9606d27.png](https://i-blog.csdnimg.cn/blog_migrate/24cdcc42e4d63f14151a046f9b8b3426.webp?x-image-process=image/format,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"/>
![13034051-295bf237f7c663de.png](https://i-blog.csdnimg.cn/blog_migrate/fc9d624dd9c7a487aa6e851db19eb68c.webp?x-image-process=image/format,png)
重启solr
/usr/local/solr/bin/solr restart -force
查看字段是否添加成功,这里也可以直接点击Add Field添加字段,就不用在配置文件里加
![13034051-a1e73c6b9a917664.png](https://i-blog.csdnimg.cn/blog_migrate/246d9effc7f47560308e96edfdef045d.webp?x-image-process=image/format,png)
导入mysql数据
![13034051-4630ac6820a028a1.png](https://i-blog.csdnimg.cn/blog_migrate/953180880b53332aaaad6ad02dfe5d7a.webp?x-image-process=image/format,png)
点击Execute导入后点击Refresh Status可以刷新看到导入数据的状态
查看数据库与导入数据是否一致
![13034051-872f8b902f17acff.png](https://i-blog.csdnimg.cn/blog_migrate/308106b31128e3a9bc2c431a12018d1f.webp?x-image-process=image/format,png)
![13034051-7ffa2eaf8d508234.png](https://i-blog.csdnimg.cn/blog_migrate/370fdc4d967909f9ab999059817f9ef5.webp?x-image-process=image/format,png)
数据一致