solr的安装
首先要保证我们的服务器是有java环境,这里我用的是jdk1.8,为了方便我们直接从官网下载最新的solr7.5
wget mirrors.hust.edu.cn/apache/luce…
下载完成之后进行解压 tar -zxvf solr-7.5.0.tgz,如果一切顺利的话我们会在目录下看到我们的solr目录
完成之后进入solr目录的bin下, cd solr-7.5.0/bin/ 尝试使用命令启动./solr start 会发现启动失败
数据的导入
这里我们要做的是将mysql表中的数据导入solr中,我们这里用的是最原始的方法,在solr-7.5.0/server/solr/test/conf下新建一个data.xml,里面内容如下
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="这里是数据库的连接地址"
user="root"
password="root"/>
<document>
<entity name="user" query="SELECT * from user" > #name后面的是表的名字
<field column="name" name="name"/> #column是表中的字段,name是在solr中的一个唯一标识
</entity>
</document>
</dataConfig>
复制代码
修改solrconfig.xml,在<requestHandler>同级将上面我们新建的配置文件引入
<requestHandler name="/dataimport" class="solr.DataImportHandler">
<lst name="defaults">
<str name="config">data.xml</str>
</lst>
</requestHandler>
复制代码
修改managed-schema文件,将上面在data.xml的sql中引入的属性加入<schema name="default-config" version="1.6">下,配置如下
<field name="name" type="string" indexed="true" stored="true">
复制代码
需要引入3个jar包,其中2个jar包在solr目录下的dist中有(solr-7.5.0/dist下)
另外我们还需要一个mysql连接的jar包,这里我使用的是 mysql-connector-java-8.0.11.jar 提供一个maven仓库的下载连接 central.maven.org/maven2/mysq…将上面的3个jar包全部放入 solr-7.5.0/server/solr-webapp/webapp/WEB-INF/lib下, 这时候我们回到我们的bin目录下重启我们的服务 ./solr restart -force 回到我们的界面,点击dataImport中的execute将我们的数据导入 在界面上看到这样的就说明我们导入成功了 最后点击Query栏下的查询就能看到我们插入的数据了,结果如下图
中文分词
首先下载ik分词,这里提供一个网址 search.maven.org/search?q=g:… 下载jar包(ik-analyzer-7.5.0.jar)到我们上文提到的WEB-INF/lib下.
然后切换到solr-7.5.0/server/solr/test/conf目录下,接着修改我们的managed-schema文件,增加如下的代码并修改我们之前添加的的filed的type属性
<!-- ik分词器 -->
<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>
<field name="name" type="text_ik" indexed="true" stored="true"/>
复制代码
最后重启solr服务!!到这里我们的solr就安装就完成了.