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

[经验分享] .net软件xcopy形式集成solr搜索引擎

[复制链接]
发表于 2015-7-16 11:21:04 | 显示全部楼层 |阅读模式
  Solr 是基于Luncene的开源企业搜索服务,提供了一个打包即用的解决方案[使用Luncene集成化需要处理索引管理、分析器等一系列的问题,自己实现还是相对麻烦的],solr对外以Http协议服务,增加了很多的辅助功能,核心集成luncene.
  Lucid Imagination is the first commercial company exclusively dedicated to Apache Lucene/Solr open source technology. 提供了商业的解决方案
  .net软件中如果绿色集成这个软件比较方便,否则安装一串东西很麻烦,无法体现 .net的xcopy的部署形式,本文针对.net程序集成solr服务的步骤进行描述
  另一方面lucene.net(C#版本)的版本更新和Luncene落后不少,因此基于solr还是一个很好的解决方案(solr几乎可以和Luncene同步更新,毕竟两者的偶合不大)
参考官网
  http://lucene.apache.org/solr
  http://www.lucidimagination.com/
概念
  Solr 1.4 Enterprise Search Server.pdf lucidworks-solr-refguide-1.4.pdf 这两本书对solr的增强处理内容和语法等进行了详尽的描述,具体的配置和使用可参考这两本书
  SolrCores
  It's possible to segment Solr into multiple virtual instances, or cores, each with its own configuration and indices. Cores may be dedicated to a single application or to very different ones, but all are administered through a common administration interface. You can create new SolrCores on the fly, shutdown cores, even replace one running core with another, all without ever stopping or restarting your servlet container.
  SolrCores对于需要分组管理索引的情况很有用,如所有的内容在一个索引库太大时可以分开,或者本身就是独立的资源。
SOLR绿色服务配置
  由于现有的系统有32位、64的区别,以32位为例说明(64位的性能更高,我测试发现差不多有一倍的提高,JDK、Tomcat是分别发布的不同架构,32位和64位主要是这个区别)
  以下是x86架构的目录结构
DSC0000.png
  (服务使用的tomcat7,Jetty7 作为服务运行有些麻烦)
  JDK的部署:把其他机器的安装好的JDK整个目录放在JDK上
  Tomcat7:把其他机器的安装好的tomcat整个目录放在tomcat上, 把Lucid Imagination 的版本安装报SolrInstaller-1.4.1.jar中 lucidworks\webapps\solr.war的 solr.war放在tomcat7\webapps目录下
  Solr:solr目录是默认的一些solrcores的配置文件和相关库,默认索引文件也存在这个目录下(coreX是其中的一个core),详细内容参考:http://cid-56b433ad3d1871e3.office.live.com/self.aspx/.Public/solr86.rar
  根目录:启动和服务的运行文件,参考下载:http://cid-56b433ad3d1871e3.office.live.com/self.aspx/.Public/solr86.rar
  如:启动服务 start.bat
  set JAVA_HOME=%cd%\jdk\
  set CLASSPATH=%cd%\jdk\lib;
  set PATH=%PATH%;%JAVA_HOME%
  set CATALINA_HOME=%cd%\tomcat7
  cd %0\..\
  tomcat7\bin\catalina.bat run
  :: SET /P M=Press ENTER:
  solr.xml 对solrcores配置的文件
  
  
  
  
  
  
  示范coreX目录下的conf关键文件
  solrconfig.xml
  schema.xml
  jdbc.xml:对数据库建立索引的设置
  lib下:sqljdbc4.jar sql server的jdbc驱动
  data:默认的索引目录
  经过如上配置后,可以在任意个部署的机器使用start.bat启动solr服务,stop.bat关闭服务,svc.bat ***安装服务Service,绿色运行solr
  出错的话在tomcat7\logs\catalina.****.log 日志中查看原因
  启动后,就可以使用solr服务
  总入口
  http://localhost:8080/solr/
  某个solrcore的管理入口(如coreX)
  http://localhost:8080/solr/coreX/admin/
  数据库导入的人口
  http://localhost:8080/solr/coreX/admin/dataimport.jsp?handler=/dataimport
  只要按照jdbc.xml建立好数据库,可以使用如上地址导入数据建立索引
.net集成
  基于DRY原则,还是使用已有的库最好[自己根据约定的HTTP协议格式写当然完全没有问题]
  mausch-SolrNet-0.3.0-0-g9fd45cd.zip
  这个是较新的项目
  solrsharp-Dec-30-2007.zip
  这个项目较早,近来更新比较少
  如下SolrNet的一个sample例子效果,实现的效果还是相当的强
DSC0001.png
  
  
搜索的性能
  方案完成后,对性能担心的话,可以看看性能,如果一下收集百万或千万条数据困难的话,可以在MusicBrainz.org下载很多的开放数据 http://musicbrainz.org/doc/Database_Download (最好使用数据库格式的)
  我测试在2.8GCPU上的新建索引其中一个文件60万个数据条目约4~5分钟,600万条20~25分钟间完成(64位的版本速度提高查不到一倍),速度还是相当的快,在这个索引上的查询一般几十毫秒就完成了,如果有更高的搜索质量、性能要求,首先可以修改solr的配置,加入相关的插件,一般情况应该可以解决问题(基于Lucene的解决方案实在很多),实在有问题的话可以自己开发定制
  至此,我们可以使我们的应用增加了检索的功能。【集成发布的产品和方案注意solr的授权协议】

运维网声明 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-87254-1-1.html 上篇帖子: 四、Solr数据源配置(JNDI、DIH)及定时重做索引 下篇帖子: Solr应用指南
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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