设为首页 收藏本站
查看: 1626|回复: 0

[经验分享] solr连接数据库配置

[复制链接]

尚未签到

发表于 2015-7-16 13:58:50 | 显示全部楼层 |阅读模式
  一般要搜索的信息都是被存储在数据库里面的,但是我们不能直接搜数据库,所以只有借助Solr将要搜索的信息在搜索服务器上进行索引,然后在客户端供客户使用。

一、链接数据库

1. SQL配置
  拿SQL Server 为例,需要先下载Sql Server的jar包,下载地址:
  http://msdn.microsoft.com/en-us/data/aa937724.aspx
  解压缩之后将sqljdbc4.jar复制到webapps\solr\WEB-INF\lib下,也就是本例的:
  D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\lib

2. 建立查询
  然后在D:\apache-tomcat-7.0.57\webapps\solr\solr_home\collection1\conf下面新建一个配置文件:data-config.xml
  然后在本目录下编辑配置文件:solrconfig.xml
  找到很多个requestHandler节点,在最下面增加:





D:\apache-tomcat-7.0.57\webapps\solr\solr_home\collection1\conf\data-config.xml


  要配置的内容就是刚才新建文件的路径。

3. 将初次下载的solr-4.10.2文件夹下的dist, contrib文件夹复制到TomCat根目录下:
DSC0000.png

4. 然后再次修改刚才编辑过的solrconfig.xml增加两个文件夹的配置并修改一些参数:
  大约在75行默认有8个路径,但是路径不一定全对,顺着这个配置的路径去找文件夹,根据查找的层数修改这个路径配置,另增加一个新的配置,全文如下:



  








  这个配置是根据本机推导出来的,大家根据自己的实际情况去修改。

5. 将dist文件夹下的
DSC0001.png
  复制到webapps\solr\WEB-INF\lib下。

6. 然后编辑
  D:\apache-tomcat-7.0.57\webapps\solr\solr_home\collection1\conf\data-confing.xml文件,以本机MyBookShop数据库的Books表为例
DSC0002.png
  配置如下:







            





  此配置千万注意。
  上述配置说明如下:
       query是获取全部数据的SQL(solr从sql中获取那些数据),多列
       deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到solr的数据),多列
       deltaQuery是获取pk的SQL(数据库新增数据是,追加到solr的数据时的条件,根据id ,条件是最后一次获取的时间,${dataimporter.last_index_time,最后获取的时间}),一列
  如需配置多列,步骤如:
  1.先配置数据库查询信息data config:



                    






  2. 配置schema信息(约120多行处):



   






  还有约270多行处



   






  这样查处的结果就如:



    "docs": [
{
"title1": "樱桃",
"title2": "樱桃樱桃",
"id": "1004",
"descr": "",
"_version_": 1503960451691577300
},

  
  保证SQL SERVER配置了外网访问即可。
  配置到此基本结束。

二、建立索引
  启动Solr,删除全部索引数据:
  http://localhost:8080/solr/update/?stream.body=*:*&stream.contentType=text/xml;charset=utf-8&commit=true
  停掉Solr,检查下是不是清空了:
DSC0003.png
  开始创建新的索引,浏览器执行方式:
  终止跑索引:http://localhost:8080/solr/collection1/dataimport?command=abort
  开始索引:http://localhost:8080/solr/collection1/dataimport?command=full-import
  增量索引 :http://localhost:8080/solr/collection1/dataimport?command=delta-import
  建议学习时使用UI的方式进行更新,能看清运行过程:
DSC0004.png
  需要等执行结束,可以点击【Refrush status】看结果:
  Indexing completed. Added/Updated: 1076 documents. Deleted 0 documents. (Duration: 03s)
  表示结束。
  然后点击左边的查询检验索引结果:
DSC0005.png
  出现查询结果表示创建成功。

三、更新索引、增加索引、删除索引

1. 更新数据:
  我们先来搜索一个关键字“土豆”,这里全是计算机图书,不应该有土豆的。
DSC0006.png
  然后将其中一个书籍的标题更新为“论土豆的栽培技术”
DSC0007.png
  不更新索引是搜不到的。
DSC0008.png
  执行增量更新:
  http://localhost:8080/solr/dataimport?command=delta-import&clean=false&commit=true
  然后去查询:
DSC0009.png
  已经可以查询得到了。

2. 新增一个数据:“论苹果的艺术”



insert into [MyBookShop].[dbo].[Books]
(
[Title]
,[Author]
,[PublishDate]
,[WordsCount]
,[UnitPrice]
,[ContentDescription]
,[AurhorDescription]
,[EditorComment]
,[TOC]
)
SELECT '论苹果的艺术'
,[Author]
,[PublishDate]
,[WordsCount]
,[UnitPrice]
,[ContentDescription]
,[AurhorDescription]
,[EditorComment]
,[TOC]
FROM [MyBookShop].[dbo].[Books] where id=4942
  新增结果如下:
DSC00010.png
  然后执行增量索引:
  http://localhost:8080/solr/dataimport?command=delta-import&clean=false&commit=true
  再查询:
DSC00011.png
  发现新结果被查询出来了。

3. 删除数据
  将苹果这条数据删除掉,仍然能够查询出来,执行单条索引删除:
  7168&stream.contentType=text/xml;charset=utf-8&commit=true">http://localhost:8080/solr/update/?stream.body=7168&stream.contentType=text/xml;charset=utf-8&commit=true
  再次查询就查不到了:
DSC00012.png
  
  数据库下载

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-87359-1-1.html 上篇帖子: [solr] 下篇帖子: Solr Cache使用介绍及分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表