全文检索引擎-solr应用分享_第1页
全文检索引擎-solr应用分享_第2页
全文检索引擎-solr应用分享_第3页
全文检索引擎-solr应用分享_第4页
全文检索引擎-solr应用分享_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、全文检索引擎-solr-solr应用分享20140930内容目录Solr vs LuceneSolr vs Lucene搭建并调试搭建并调试SolrSolrSolrSolr基础基础SolrSolr功能应用功能应用Solr vs LuceneSolr vs Lucene- -Solr Solr 是什么Solr它是一种开放源码的、基于 Lucene Java 的搜索服务器,易于加入到 Web 应用程序中。Solr 提供了层面搜索(就是统计)、命中醒目显示并且支持多种输出格式(包括XML/XSLT 和JSON等格式)。它易于安装和配置,而且附带了一个基于HTTP 的管理界面。可以使用 Solr 的表

2、现优异的基本搜索功能,也可以对它进行扩展从而满足企业的需要。Solr的特性包括:高级的全文搜索功能专为高通量的网络流量进行的优化基于开放接口(XML和HTTP)的标准综合的HTML管理界面可伸缩性能够有效地复制到另外一个Solr搜索服务器使用XML配置达到灵活性和适配性可扩展的插件体系Solr vs LuceneSolr vs Lucene- - Lucene Lucene 是什么Lucene是一个基于Java的全文信息检索工具包,它不是一个完整的搜索应用程序,而是为你的应用程序提供索引和搜索功能。Lucene 目前是 Apache Jakarta(雅加达) 家族中的一个开源项目。也是目前最为

3、流行的基于Java开源全文检索工具包。目前已经有很多应用程序的搜索功能是基于 Lucene ,比如Eclipse 帮助系统的搜索功能。Lucene能够为文本类型的数据建立索引,所以你只要把你要索引的数据格式转化的文本格式,Lucene 就能对你的文档进行索引和搜索。 Solr vs LuceneSolr vs Lucene- - 两者关系Solr与Lucene 并不是竞争对立关系,恰恰相反Solr 依存于Lucene,因为Solr底层的核心技术是使用Lucene 来实现的,Solr和Lucene的本质区别有以下三点:搜索服务器,企业级和管理。1.Lucene本质上是搜索库,不是独立的应用程序,

4、而Solr是。2.Lucene专注于搜索底层的建设,而Solr专注于企业应用。3.Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括 Solr: Solr是Lucene面向企业搜索应用的扩展。Solr特点:1.对Lucene查询语言的强大扩展!2.支持对结果进行动态的分组和过滤3.高级的,可配置的文本分析4.高度可配置和可扩展的缓存机制5.性能优化6.支持通过XML进行外部配置7.拥有一个管理界面,可监控的日志8.支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution) Solr与Lucene架构

5、图:搭建并调试Solr-Solr-下载相关文件jdk6.*apache-tomcat-7.*apache-solr-4.0.0.zip下载地址:/dist/lucene/solr/IK Analyzer 2012FF_hf1.zip 分词器下载地址: http:/ 搭建并调试Solr-Solr-solrsolr安装解压apache-solr-4.0.0.zip 在apache-solr-4.0.0examplewebapps目录下拷贝solr.war 到tomca的webapps下面,启动tomcat后,自动解压solr.war,此包为一个sol

6、r的后台管理配置solr.home1)基于当前路径的方式 这种情况需要在D:solr目录下去启动tomcat,Solr查找./solr,因此在启动时候需要切换到D:solr 2)基于环境变量 windows在环境变量中建立solr.home,值为D:solr linux在当前用户的环境变量中(.bash_profile)或在catalina.sh中添加如下环境变量 export JAVA_OPTS=$JAVA_OPTS -Dsolr.solr.home=/opt/solr 3)基于JNDI (我们一般会使用这种) 在tomcat6的conf文件夹建立Catalina文件夹,然后在Catalin

7、a文件夹中在建立localhost文件夹,在该文件夹下面建立solr.xml,其中内容: 4)直接在solr的web.xml文件中,在filter标签前添加如下配置 solr/home D:solr java.lang.String 建立索引目录在D:solr目录下建立一个solr.xml文件。里面描述了索引的建立位置 启动搜索例子把apache-solr-4.0.0examplemulticore下的core0复制到D:solr 目录下对应 启动Tomcat 本地输入localhost:8080/solr 即可登录solr管理台因为 Solr 包装并扩展了Lucene,所以它们使用很多相同的

8、术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。在 Solr 和 Lucene 中,使用一个或多个 Document 来构建索引。Document 包括一个或多个 Field。Field 包括名称、内容以及告诉 Solr 如何处理内容的元数据。例如,Field 可以包含字符串、数字、布尔值或者日期,也可以包含你想添加的任何类型,只需用在solr的配置文件中进行相应的配置即可。Field 可以使用大量的选项来描述,这些选项告诉 Solr 在

9、索引和搜索期间如何处理内容。现在,查看一下表 1 中列出的重要属性的子集:搭建并调试Solr-Solr-solrsolr基础属性名称属性名称描述描述IndexedIndexed Field 可以进行搜索和排序。你还可以在 indexed Field 上运行 Solr 分析过程,此过程可修改内容以改进或更改结果。StoredStored stored Field 内容保存在索引中。这对于检索和醒目显示内容很有用,但对于实际搜索则不是必需的。例如,很多应用程序存储指向内容位置的指针而不是存储实际的文件内容。搭建并调试Solr-Solr-solrsolr基础模式配置模式配置Schema.xml Sc

10、hema.xml fieldType name=string class=solr.StrField sortMissingLast=true omitNorms=true/fieldType name=boolean class=solr.BoolField sortMissingLast=true omitNorms=true/fieldType name=sint class=solr.SortableIntField sortMissingLast=true omitNorms=true/fieldType name=slong class=solr.SortableLongField

11、 sortMissingLast=true omitNorms=true/fieldType name=sfloat class=solr.SortableFloatField sortMissingLast=true omitNorms=true/fieldType name=sdouble class=solr.SortableDoubleField sortMissingLast=true omitNorms=true/fieldType name=date class=solr.DateField sortMissingLast=true omitNorms=true/搭建并调试Sol

12、r-Solr-solrsolr基础filter class=solr.StopFilterFactory ignoreCase=true words=stopwords.txt enablePositionIncrements=true / filter class=solr.StopFilterFactory ignoreCase=true words=stopwords.txt enablePositionIncrements=true / filter class=solr.SynonymFilterFactory synonyms=synonyms.txt ignoreCase=tru

13、e expand=true/ analyzer type=index isMaxWordLength=false class=org.wltea.analyzer.lucene.IKAnalyzer/analyzer type=query isMaxWordLength=true class=org.wltea.analyzer.lucene.IKAnalyzer/ 搭建并调试Solr-Solr-solrsolr基础 field name=id type=string indexed=true stored=true multiValued=false required=true/ field

14、 name=medical_name type=string indexed=true stored=true multiValued=true / field name=create_date type=string indexed=true stored=true multiValued=false / field name=made_in type=string indexed=true stored=true multiValued=false / field name=comment type=text_ik indexed=true stored=true multiValued=

15、true/ dynamicField name= _i type=integer indexed=true stored=true/ dynamicField name= _l type=long indexed=true stored=true/ dynamicField name= _s type=string indexed=true stored=true/ id id medical_name medical_name 搭建并调试Solr-Solr-solrsolr基础types types 部分部分属性 描述 name 标识而已 class 和其他属性决定了这个fieldType的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论