搭建solr8
这里记录linux上的安装过程
一、下载安装包
https://lucene.apache.org/solr/downloads.html
二、解压安装
这里我放倒了/usr/local/solr目录下
解压命令: tar -zxvf solr-xxx.tgz
这个时候其实solr就已经可以启动了。执行一下命令。
/usr/local/solr/solr-8.1.1/bin solr start
但是如果是用root用户启动给出一个提示,并终止运行,需要加上一个修饰
/usr/local/solr/solr-8.1.1/bin solr start -force
这样就可以访问了。
http://ip+:8983/solr
接下来配置实例(solrcore)
cd /usr/local/solr/solr-8.1.1/server/solr
这里需要创一个实例的文件夹,我创建的是book。
创建好了需要干一件惊天动地的大事儿了copy,洋气吧~~~~
现在进到configsets文件夹下 cd /usr/local/solr/solr-8.1.1/server/solr/configsets 要复制的部分就是_default下的conf目录
cp -r /usr/local/solr/solr-8.1.1/server/solr/configsets/_default/conf/ /usr/local/solr/solr-8.1.1/server/solr/sysuser
然后需要把安装目下的dist目录中的solr-dataimporthandler-extras-xxx.jar、solr-dataimporthandler-8.1.1.jar复制到 /usr/local/solr/solr-8.1.1/server/solr-webapp/webapp/WEB-INF/lib 路径下
此外因为要连接到数据还要一个mysql的驱动包mysql-connector-java-8.0.18.jar。顺便把中文分词器也扔进去 ik-analyzer-8.3.0.jar。这要差不多需要的依赖就配好了,接下来就是配置文件了。
现在回到刚刚创建的实例的conf目录下 cd /usr/local/solr/solr-8.1.1/server/solr/sysuser/conf
在solrconfig.xml中添加一下节点,注意一定与其他的类似节点同级 可以直接搜索/select,在该节点之上添加
vi solrconfig.xml
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
这里配置中配置了一个data-config.xml的配置文件,他是数据库的配置文件,默认是没有需要自己创建
touch data-config.xml
编辑该文件 vi data-config.xml
添加以下内容
<?xml version="1.0" encoding="UTF-8" ?>
<dataConfig>
<dataSource type="JdbcDataSource"
driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://127.0.0.1:3306/xuan?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull"
user="root"
password="lhfadmin"/>
<document>
<entity name="book" pk="id" transformer="DateFormatTransformer" query="SELECT id,name,jianjie FROM book">
<field name="userid" type="text_ik" indexed="true" stored="true"/>
<field name="username" type="text_ik" indexed="true" stored="true"/>
<field name="realName" type="text_ik" indexed="true" stored="true"/>
<field name="phone" type="text_ik" indexed="true" stored="true"/>
</entity>
</document>
</dataConfig>
配置中文分词器,jar已经上边导入了,直接配置配置文件就好了
vi 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>
<!-- 这是IK配置域,在这里不重要-->
<field name="title_ik" type="text_ik" indexed="true" stored="true"/>
<field name="content_ik" type="text_ik" indexed="true" stored="true" multiValued="true"/> <!--这是配置从数据库拿出来的数据配置域 -->
<field name="userid" type="text_ik" indexed="true" stored="true"/>
<field name="username" type="text_ik" indexed="true" stored="true"/>
<field name="realName" type="text_ik" indexed="true" stored="true"/>
<field name="phone" type="text_ik" indexed="true" stored="true"/>
这样就ok了,重启solr
/usr/local/solr/solr-8.1.1/bin/solr restart -force
如果这个位置没有刚才的实例,手动添加进去即可
点击上边的add core,
框红框的地方名字是一样的,和文件夹名字相同。剩下的没有改变就默认就好了。schema.xml和managed-schema可以理解成是一个玩意,不用理会。
添加后实例后就需要导入数据库的数据了
这个时候会发现并没有导入进去,看下日志发现
然后在conf目录下添加 dataimport.properties文件即可
然后重启
重新导入
这时查询可以看到导入的数据
最新文章
- 通过JAXB完成Java对象与XML之间的转换
- Mac OS下基于Eclipse的Android调试环境搭建
- JavaScript confirm 自定义风格及功能实现
- POJ2774 &; 后缀数组模板题
- Matlab中reshape函数的使用
- UIWebView相关设置
- 初试体验java多线程
- HW5.12
- 【转】 iOS Provisioning Profile(Certificate)与Code Signing详解
- DB2高级安装
- laravel5.2/laravel5.3入门指南 Windows 上快速安装并运行 Laravel 5.x
- php web开发安全之csrf攻击的简单演示和防范(一)
- Dapper-继续
- 数据分析——matplotlib
- webpack 4.0 中 clean-webpack-plugin 的使用
- CentOS 7上VNCServer的安装使用
- CNZZ友盟访问明细的采集办法
- httpClient实例--返回响应部分并且转换成对象
- js常见知识点3.面向对象之继承、设计模式
- DRP端口描述