十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍“solr增量导入数据怎么配置”,在日常操作中,相信很多人在solr增量导入数据怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”solr增量导入数据怎么配置”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
成都创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站制作、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的东台网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
简介: solr5.0是一个独立的应用程序,不再依赖其他Web服务器就能提供Web服务(这是和4.x版本最大的差异,内置jetty)。
启动solr
solr提供了启动脚本
bin/solr start 前台运行 bin/solr start -f 指定端口号 bin/solr start -p 8984(默认端口号8983) 查看solr状态 bin/solr status 结束solr bin/solr stop -p 8984
后台管理地址 http://localhost:8984/solr
logging:显示日志
Core Admin: core就是搜索示例,放置索引。
java properties:查看java配置信息
Thread dump:查看线程信息
创建一个搜索实例
{solr安装路径}/server/solr/新建一个文件夹命名为test
拷贝{solr安装路径}/server/solr/configsets/sample_techproducts_configs到test目录下
目录结构如下:
在后台采用如下配置:
配置smartcn分词期
第一步:导入smartcn的jar包
在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码
第二步:配置分词器
1.solr5
在{solr安装路径}/server/solr/test/conf/schema.xml加入如下代码
2.solr6
在{solr安装路径}/server/solr/test/conf/managed-schema加入如下代码
第三步:检查是否正确配置
如果可以搜索到text_cn即表示配置成功,最好用一段文字测试下分词结果。
配置数据导入handler(用于数据导入,生成索引)
第一步:导入相关jar包(solr6不需要这一步)
在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码
第二步:配置handler(solr6不需要这一步)
在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码
db-data-config.xml
第三步:配置数据源,源数据与索引的隐射关系
在{solr安装路径}/server/solr/test/conf/下新建db-data-config.xml,配置如下:
第四步:验证配置是否成功
在后台core admin中reload当前搜索实例的配置
then在搜索实例的dataimport出现下图情形即为成功
导入数据
第一步:导入mysql的jar包 下载地址:见参考资料5
将jar放置到{solr安装路径}/dist目录下,
在{solr安装路径}/server/solr/test/conf/solrconfig.xml加入如下代码
第二步:验证配置(配置见第六点)
如果显示indexing completed. Added/Updated: 1847 documents. Deleted 0 documents
documents的个数大于0说明我们成功导入x条数据到solr中
设置field的索引方式
查询
更新索引
删除索引
优化
定时完整数据重新导入
crontab -e curl -d "command=full-import&clean=true&commit=true&optimize=true&wt=json&indent=true&verbose=false&debug=false" "http://ip:port/solr/{core名称}/dataimport"
14.增量导入数据配置
修改db-data-config.xml添加deltaQuery、deltaImportQuery、pk三个属性
1.pk设置主键字段名称,该字段必须在managed-schema配置过
2.deltaQuery该属性用于查询主键字段值
3.deltaImportQuery该属性用于查询需要被索引的所有字段的sql
${dataimporter.delta.id}" deltaImportQuery="select id,title,content,create_time from cms_article where id={$dataimporter.delta.id}">
15.配置定时数据更新
16.搜索词建议
https://cwiki.apache.org/confluence/display/solr/Suggester
更新中~~~
错误信息:
1.配置好的solr没有任何数据,启动时报错:SolrException: Invalid Number: MA147LL/A
这不是你的错,你可能是把solr schema.xml的id设置成了int类型,设置成int类型没什么错,但是solr启动是会扫描conf目录下的elevate.xml文件,这个文件中定义的id值是MA147LL/A
所以就会出现异常SolrException: Invalid Number: MA147LL/A
解决问题的方法是修改elevate.xml文件,将其中的id值设置为数字,就可以了。
${dataimporter.delta.id}" deltaImportQuery="select id,title,content,create_time from cms_article where id={$dataimporter.delta.id}">
2.全量导入数据报:
Caused by: java.sql.SQLException: Illegal value for setFetchSize().
在db-data-config.xml的dataSource标签添加batchSize属性并赋值-1即可,修改后的内容
${dataimporter.delta.id}" deltaImportQuery="select id,title,content,create_time from cms_article where id={$dataimporter.delta.id}">
到此,关于“solr增量导入数据怎么配置”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!