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

[经验分享] solr 简单搭建 数据库数据同步(待续)

[复制链接]
发表于 2017-12-19 15:13:22 | 显示全部楼层 |阅读模式
  原来在别的公司负责过文档检索模块的维护(意思就是不是俺开发的啦)。
  所以就略微接触和研究了下文档检索。
  文档检索事实上是全文检索。是通过一种技术把N多文档进行一定规律的分割归类,然后创建易于搜索的索引式文件,然后搜索具有某些规律的文档时,可以通过高速定位索引,然后依据索引提供的信息精确定位到文档从而实现迅速找到文档。这个文档一般成为条目。
  上家公司的时候使用的是Lucene加上Zoie实现的。
  lucene是apache下的开源项目,只是并非全文检索的实现,而是一个全文检索的引擎,是一个架构,是其它检索服务的底层支持。zoie研究的不是太多,由于认为并非非常好用。对于lucene的基本知识和使用,以后单独写篇博客记录,该文主要记录solr的简单搭建和应用。
  Solr它是一种开放源代码的、基于 Lucene Java 的搜索server,易于增加到 Web 应用程序中。
  Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包含XML/XSLT 和JSON等格式)。它易于安装和配置。并且附带了一个基于HTTP 的管理界面。能够使用 Solr 的表现优异的基本搜索功能,也能够对它进行扩展从而满足企业的须要。
  也就是说solr能够自己直接做服务使用。
  就像上家公司自己开发的搜索服务包,封装了一些lucene的操作(主要是写入索引indexWriter)和一些zoie的操作(主要是读取操作indexReader)。使用了最简单的自带的分词方法StandardAnalyzer,所以并不好用。而solr就是一个已经都封装好的war包,准许http訪问,至于文档格式、字段、索引创建、搜索等都是能够配置的。
  是不是能够说基本perfect了!
  下来就简单说下我的研究步骤:
  1.下载solr。我的笔记本是Windows系统。所以我下载的是zip包,下载地址。
  2.解压solr的zip包。解压的文件夹结构如图:
DSC0000.jpg

  bin文件夹下是一些脚本
  contrib是一些扩展插件的jar包。供solr服务引用和加入高级功能等。当中配置的分词器、数据库数据引入、数据视图解析(xml、json等)等。
  dist下是solr自己的一堆jar包以及javaclientsorlj的依赖包
  docs下是帮助文档。十分具体
  example下是实例配置、jetty的配置、solr core配置
  licenses下是认证信息。无需管。
  3.这次直接解说怎样将数据库的数据同步到索引里。
  01.将example/solr中的collection1目录复制一份到同目录下,重命名为user,将user目录下的core.properties和README.txt删掉,将user/data目录下清空。
  02.user目录即是我们新建的索引库。其下的conf目录是索引的一些配置文件,data目录下是初始化之后创建的索引文件
  03.conf下介绍:
  .clustering目录配置集群的(暂未研究)
  .lang目录配置的各国语言的stopwords
  .velocity目录是配置vm的返回格式。使用/browse就可以
  .xlst目录是配置xml数据格式的
  外部文件解析:
  stopwords.txt过滤词
  protwords.txt有保护性的词(不太理解)
  synonyms.txt同义词
  spellings.txt拼写检查文档
  elevate.xml配置排名上升的field
  solrconfig.xml是solr的主要配置文件,配置jar包、路径信息、创建索引配置、updateHandler配置、query配置、requestHandler配置、一些展示页面配置、数据源配置(DataImportHandler)、facet展示页面配置
  schema.xml是solr索引的字段配置文件。配置field、fieldType等
  04.改动solrconfig.xml文件:
  引入自己须要的jar包
  <lib dir=&quot;../bin/&quot; regex=&quot;mysql-connector-java-5.0.8-bin.jar&quot; />
  <!-- analysis libs by tianzhilong -->
  <lib dir=&quot;../../../contrib/analysis-extras/lib&quot; regex=&quot;.*\.jar&quot; />
  配置/browse訪问的查询条件、VelocityResponseWriter、facet展示页面。主要须要改动Query settings中的qf(设置查询字段以及各字段的权重)。df(默认查询字段)等等查询參数可见http://sarsgetaway.iteye.com/blog/1560143;faceting设置主要设置field、query、range。高亮设置;拼写检查设置
  增加/dataimport路径进行数据同步
  <!-- DataImportHandler to be registered in the solrconfig.xml -->

  <requestHandler name=&quot;/dataimport&quot;>  <lst name=&quot;defaults&quot;>
  <str name=&quot;config&quot;>data-config.xml</str>
  </lst>
  </requestHandler>
  05.改动schema.xml文件
  将数据库user表的须要存储和索引的字段配置进schema.xml中,将原来的測试字段删除;
  dynamicField不变。
  copyField将自己的字段加入(建立索引的字段,仅仅存储不索引的字段无论);
  fieldType中添加中文分词的类型

  <fieldType name=&quot;text_smartcn&quot;>  <analyzer type=&quot;index&quot;>

  <tokenizer>
  <filter>  </analyzer>
  <analyzer type=&quot;query&quot;>

  <tokenizer>
  <filter>  </analyzer>
  </fieldType>
  06.在velocity目录下,改动product_doc.vm文件。将自己须要显示的字段设置上
  时间有限。下来再排版和补全。待续~

运维网声明 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-425734-1-1.html 上篇帖子: How to Install Apache Solr 4.5 on CentOS 6.4 下篇帖子: 10.solr学习速成之高亮显示
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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