solr 5.5.2 集成mysql 索引增量权利更新
来源:互联网 发布:java spring 异步调用 编辑:程序博客网 时间:2024/05/29 04:37
之前很多内容也是从网上巴拉巴拉的拼凑的,第一次接触solr其实都是瞎搞 这边给出一些solr中安装使用的一些坑,希望帮到大家吧
solr在4 之前是有war包的 5的时候貌似就没有了 但是内置了服务容器启动 默认路径solr安装目录/solr/bin/ 启动方式 ./solr.cmd start || ./solr.sh start
启动完之后都讲直接访问localhost:PORT 可以直接看到管理页面,其实有些意外的,如果没有看到core自己需要去solr/server/ 下创建目录 这边给出test
从solr\configsets\下一个文件夹内(自选) 拷贝一份conf文件到你的test目录下,然后到页面添加
导入mysql-connector-java-*.jar/solr-dataimporthandler-*.jar/solr-dataimporthandler-extras-*.jar 到 \solr\server\lib
进入 server\solr\test\conf 目录 修改solrconfig 添加
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-.*\.jar" /> 刚才导入的jar包引用
<lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-.*\.jar" /> 刚才导入的jar包引用
<!-- zealot add -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
<!-- zealot add -->
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
<!-- zealot add -->
同目录创建data-config.xml
<dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbcurl" user="root" password="root"/>
<document name="articleZindex">
<entity name="demo"
query="select * from table"
deltaImportQuery="select * from table where table.id ='${dih.delta.id}'"
deltaQuery="select id from table where CREATETIME > '${dih.last_index_time}'">
</entity>
</document>
</dataConfig>
<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver"
url="jdbcurl" user="root" password="root"/>
<document name="articleZindex">
<entity name="demo"
query="select * from table"
deltaImportQuery="select * from table where table.id ='${dih.delta.id}'"
deltaQuery="select id from table where CREATETIME > '${dih.last_index_time}'">
</entity>
</document>
</dataConfig>
特别指出增量任务需要增加deltaImportQuery、deltaQuery 会记录上一次的ID 和 时间 已查看是否需要更新
到此导入任务完成,可以重启服务查看数据 第一次自己需要去
全量导入任务,然后自己去logging查看导入日志,可别傻等着看结果。。。。
最后进入server\solr目录
创建conf 这个是为了做定时任务全量增量导入数据使用,但是为什么这么放也很奇怪,在conf中创建dataimport.properties 添加以下内容
syncEnabled=1
server=127.0.0.1
port=8983
webapp=solr
# 增量更新的请求参数
params=/test/dataimport?command=delta-import&clean=false&commit=true
# 这里配置的是1min一次
interval=1
# 重做索引的时间间隔,单位分钟,默认7200,即5天;
# 为空,为0,或者注释掉:表示永不重做索引
reBuildIndexInterval=7200
# 重做索引的参数
reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true
# 重做索引时间间隔的计时开始时间,第一次真正执行的时间=reBuildIndexBeginTime+reBuildIndexInterval*60*1000;
# 两种格式:2012-04-11 03:10:00 或者 03:10:00,后一种会自动补全日期部分为服务启动时的日期
reBuildIndexBeginTime=03:10:00
server=127.0.0.1
port=8983
webapp=solr
# 增量更新的请求参数
params=/test/dataimport?command=delta-import&clean=false&commit=true
# 这里配置的是1min一次
interval=1
# 重做索引的时间间隔,单位分钟,默认7200,即5天;
# 为空,为0,或者注释掉:表示永不重做索引
reBuildIndexInterval=7200
# 重做索引的参数
reBuildIndexParams=/dataimport?command=full-import&clean=true&commit=true
# 重做索引时间间隔的计时开始时间,第一次真正执行的时间=reBuildIndexBeginTime+reBuildIndexInterval*60*1000;
# 两种格式:2012-04-11 03:10:00 或者 03:10:00,后一种会自动补全日期部分为服务启动时的日期
reBuildIndexBeginTime=03:10:00
然后在\solr-webapp下的web.xml中添加监听
//同步数据任务
<listener>
<listener-class>
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>
<listener-class>
org.apache.solr.handler.dataimport.scheduler.ApplicationListener
</listener-class>
</listener>
同时需要导入mydataimportscheduler.jar 到 \solr-webapp下的lib中
然后增量任务就可以实现了
“:” 指定字段查指定值,如返回所有值*:*²
“?” 表示单个任意字符的通配²
“*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)²
“~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。²
邻近检索,如检索相隔10个单词的”apache”和”jakarta”,”jakarta apache”~10²
“^” 控制相关度检索,如检索jakarta apache,同时希望去让”jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^4 apache²
布尔操作符AND、||²
布尔操作符OR、²&&
布尔操作符NOT、!、- (排除操作符不能单独与项使用构成查询)²
“+” 存在操作符,要求符号”+”后的项必须在文档相应的域中存在²
( ) 用于构成子查询²
[] 包含范围检索,如检索某时间段记录,包含头尾,date:[200707 TO 200710]²
{} 不包含范围检索,如检索某时间段记录,不包含头尾²
date:{200707 TO 200710}
\ 转义操作符,特殊字符包括+ -² && || ! ( ) { } [ ] ^ ” ~ * ? : \
“?” 表示单个任意字符的通配²
“*” 表示多个任意字符的通配(不能在检索的项开始使用*或者?符号)²
“~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam~将找到形如foam和roams的单词;roam~0.8,检索返回相似度在0.8以上的记录。²
邻近检索,如检索相隔10个单词的”apache”和”jakarta”,”jakarta apache”~10²
“^” 控制相关度检索,如检索jakarta apache,同时希望去让”jakarta”的相关度更加好,那么在其后加上”^”符号和增量值,即jakarta^4 apache²
布尔操作符AND、||²
布尔操作符OR、²&&
布尔操作符NOT、!、- (排除操作符不能单独与项使用构成查询)²
“+” 存在操作符,要求符号”+”后的项必须在文档相应的域中存在²
( ) 用于构成子查询²
[] 包含范围检索,如检索某时间段记录,包含头尾,date:[200707 TO 200710]²
{} 不包含范围检索,如检索某时间段记录,不包含头尾²
date:{200707 TO 200710}
\ 转义操作符,特殊字符包括+ -² && || ! ( ) { } [ ] ^ ” ~ * ? : \
支持各种检索!是不是比普通数据库检索要好很多 以上有些内容是从别的文章拿过来的 因为拼拼凑凑才组成的一个能用的 有不对的地方敬请谅解!
分享到:QQ空间新浪微博网易微博腾讯微博搜狐微博豆瓣人人网更多
1 0
- solr 5.5.2 集成mysql 索引增量权利更新
- 全文索引----solr服务器更新增量索引
- 全文索引----solr服务器更新增量索引
- Solr与MongoDB集成,实时增量索引
- Solr与MongoDB集成,实时增量索引
- solr配置自动增量更新索引
- solr学习文档之增量更新索引
- [Solr] (源) Solr与MongoDB集成,实时增量索引
- solr配置增量更新和定时更新数据库索引
- solr定时增量索引
- solr增量索引
- solr定时增量索引
- Solr增量索引
- solr增量索引问题
- Solr增量索引
- solr定时实时重建索引和增量更新
- solr定时实时重建索引和增量更新
- solr定时实时重建索引和增量更新
- UVALive 6378 Friend Chains (多源最短路 spfa)
- strrev函数
- android 去掉ScrollVIew拉到尽头时再拉的阴影效果
- CAFFE 学习(1). 参考网站和资料
- Codeforces 29C Mail Stamps(离散化 && map初探)
- solr 5.5.2 集成mysql 索引增量权利更新
- java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)
- 2014-10-15-函数--StaticMesh运动
- HDU1370-Biorhythms
- HTML与CSS--------居中问题
- js中应用protocol buffer
- <s:doubleselect 的使用-不支持EL表达式,需要使用OGNL来动态赋值-could not be resolved as a collection/array/map/enumerati
- 多校训练(三)
- 黑马Android:生成xml文件