solr的维护
来源:互联网 发布:cf刷枪软件 编辑:程序博客网 时间:2024/06/05 06:40
solr使用IK中文分词库,可以在solr后端可视界面来维护索引库,也可以使用java代码使用solr的客户端solrJ实现对索引库的维护,二种方法都要会。
一、solr后端可视界面来维护索引库
导入索引库可以使用dataimport插件进行导入,但是在集群环境下会配置十分复杂,所有,在集群环境下我们一般通过java代码形式导入索引库。
我们通过documents来实现商品的增删改查,
增加:可以添加一个json格式文件
修改:solr中没有update操作,只需要添加一个与已有索引库id相同的数据即可(原理:先删除后添加)
删除:使用xml的形式:根据索引库id进行删除<delete><id>12222</id></delete><commit/>需要注意,删除后一定要执行commit提交命令才能生效。
二、solr建立索引库后,有新的索引如何添加呢?
使用solr定时增量索引,当数据库的数据发生改变的时候,我们不想手动的去重新添加数据库的数据导solr索引库中,所以用到定时添加索引,增删改的数据。
将solr/dist下的solr-dataimporthandler-4.8.1.jar、solr-dataimporthandler-extras-4.8.1.jar这两个包拷贝到tomcat/webapps/solr/lib下,还有下载apache-solr-dataimportscheduler.jar也拷贝到tomcat/webapps/solr/lib下,下载链接apache-solr-dataimportscheduler.jar的下载链接。
修改solr\home\mycore\conf下的data-config.xml文件。
<dataConfig> <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/courseman" user="root" password="mysql" /> <document> <entity pk="ID" dataSource="courseman" name="student" query="select * from student WHERE deleteStatus=0 " deltaQuery="select ID from student where createTime > '${dataimporter.last_index_time}'" deletedPkQuery="select ID from student where deleteStatus=1" deltaImportQuery="select * from student where ID='${dataimporter.delta.ID}'" > <field column="ID" name="id" /> <field column="name" name="name" /> <field column="gender" name="gender" /> <field column="major" name="major" /> <field column="grade" name="grade" /> <field column="deleteStatus" name="deleteStatus" /> <field column="createTime" name="createTime" /> <field column="updateTime" name="updateTime" /> </entity> </document></dataConfig>在tomcat\webapps\solr\WEB-INF\web.xml加入这句话:
<listener> <listener-class>org.apache.solr.handler.dataimport.scheduler.ApplicationListener</listener-class> </listener>
在solr\home文件下创建conf文件夹,原本是没有的,要自己创建。不是solr\home\mycore\conf。启动tomcat的时候他会去找solr目录下home\conf。如果没有找到,启动报错,访问不到路径,报404错。
他是根据这个配置的。
<?xml version="1.0" encoding="utf-8"?><Context docBase="D:\work-tool\server\solr\server\solr-4.8.1.war" reloadable="true" >
<Environment name="solr/home" type="java.lang.String" value="D:\work-tool\server\solr\home" override="true" />
</Context>
D:\work-tool\server\solr\home\conf\dataimport.properties
在这个conf文件下创建dataimport.properties并添加内容
interval=1port=8983
server=localhost
params=/dataimport?command=delta-import&clean=false&commit=true
webapp=solr
reBuildIndexInterval=1
syncEnabled=1
reBuildIndexBeginTime=03:10:00
reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true
syncCores=mycore
interval:
port:solr的端口
server:solr的路径
webapp:solr名称
syncCores:索引库位置,可以多个,用逗号隔开。
apache-solr-dataimportscheduler的源代码里面有个错误,应该把POST请求改为GET请求。不然他会报415错误。
- solr的维护
- solr索引库的维护
- Linux下Solr索引库的维护
- Solr之维护索引。
- solr基础理论与维护管理
- solr学习第三课----solr索引维护-基于solr搜索引擎
- 你不知道的全文检索---solr索引库的维护(一)
- Solr控制台索引维护-删除索引
- solr wiki - solr的组件
- Solr集群的搭建(solr集群架构 solr部分)
- Scaling Solr(Solr的扩展)
- solr FieldAnalysisRequestHandler 取得solr的分词方法
- Scaling Solr(Solr的扩展)
- Scaling Solr(Solr的扩展)
- solr系列教程:第一节 solr的部署
- Solr使用:1.Solr的安装部署
- Solr使用:2.Solr核的创建
- Solr--Solr的安装和配置
- Mysql 新建用户权限
- Java 根据日期计算星期几
- 自动显示和隐藏头布局的ListView(转)
- div显示图片不全和background-size在ie和火狐下不生效的解决方法
- 不同浏览器中Div层覆盖Flash层的几种方法
- solr的维护
- Derek的成长之路——前端与移动开发之HTML(总结篇)
- <nav></nav>
- echarts放大缩小功能
- Impala运行中java.net.UnknownHostException: nameservice1的异常
- linux jdk安装
- 守护进程
- 纯JAVA实现Online Judge--5.并行运行
- js EXCLE导出