Solr5 HelloWord

本文介绍如何配置和使用Solr 5.2.1进行全文检索,包括安装部署步骤、配置文件详解及索引创建过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近用到Solr 这个全文检索工具,之前了解过 全文检索 lucene3 ,Solr在lucene的基础上有做了很多事情,方便了开发对lucene的使用 

具体说明:

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。


特点:

Solr是一个高性能,采用Java5开发,
基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的
全文搜索引擎


准备开始配置


1. 下载Solr5.2.1


解压后找到webapps 目录 把solr.war 放入tomcat webapps中解压


2.solr 用到的jar 导入到tomcat/weapps/solr/WEB-INF/lib/中 




3.配置solr 下的web.xml 指定solr 的索引目录


在web.xml中增加行


    <env-entry>
       <env-entry-name>solr/home</env-entry-name>
       <env-entry-value>D:/Program Files/solr_home</env-entry-value>
       <env-entry-type>java.lang.String</env-entry-type>
    </env-entry>



4.创建 solr 的索引与配置目录  solr_home



其中 new_core 为自定义目录,创建new_core 之后,在此目录中创建三个文件


data-config.xml 是数据库配置文件

schema.xml  字段与索引的配置

solrconfig.xml solr 相关配置



 
	
  
	
  
        
   
            
    
            
    
            
    
            
    
            
    
            
    
            
    
            
    
        
   
    
  

 



    

    
  
         
     
      
  
  	
    
     
      
  
     
     
        
    
        
        
                
	
    
		
     
		
     
	
    
	
	

     
  
  
 
     
 	
    
   
       
   
      
   
    
   
   
    
   
    
   
    
   
    
   
    
 
     
  
 
   
    id
     
 
   
    name
     
 
     
  

  


  

  


  

  
  
   

  
   
  
   
    5.2.1
   

  
   
  
   
    ${solr.data.dir:}
   


  
   
  
   
  
    

  
   
  
   

  
   

  
   
  
   

    
    
    
    
     ${solr.lock.type:native}
    

    
    
     
    
     true
    
  
   


  
   
  
   
  
   
  
   
  
   
  
   

  
   
  
   

    
    
    
    
      
     
      ${solr.ulog.dir:}
     
      
     
      ${solr.ulog.numVersionBuckets:65536}
     
    
    
 
    
    
     
     
       
     
      ${solr.autoCommit.maxTime:15000}
      
       
     
      false
      
     
    

    
    
     
     
       
     
      ${solr.autoSoftCommit.maxTime:-1}
      
     
    

  
   
  
  
   
  
   
    
    
    
    
     1024
    


    
    

    
    
    
    

    
    
    
    
   
    
    
    
    
    
    
     
    
    

    
    
    
    
     true
    

   
    
   
    
     20
    

   
    
   
    
     200
    

    
    
    
    
     false
    

    
    
    
    
     2
    

  
   


  
   
  
   
    
     
    
    

    
    
    
    

  
   

  
   
  
   
  
   
    
    
     
    
       
     
      explicit
     
       
     
      10
     
     
    

    
   

  
   
  
   
     
    
       
     
      explicit
     
       
     
      json
     
       
     
      true
     
       
     
      name
     
     
    
  
   

  
   
  
   
    
    
      
     
      {!xport}
     
      
     
      xsort
     
      
     
      false
     
    
    

    
    
      
     
      query
     
    
    
  
   
  
  
  
   
  	
    
  			
     
      data-config.xml
     
  	
    
  
   
	

  
   
    
    
      
     
      name
     
    
    
  
   

  
   
  
   


  
   
  
   

  
   
  
   
    
    
     
     
      explicit
      
     
     
      true
     
    
    
  
   
  


  
   

  
   
  
   

  
   
  
   
     
    
      
     
      true
     
      
     
      false
     
    
         
    
    
      
     
      terms
     
    
    
  
   

  
   
  
   
    
    
     *:*
    
  
   


  


其中 solrconfig.xml 需要配置数据源 




5. 重新启动tomcat 打开 http://localhost:8080/solr


打开之后会让添加索引目录及配置


6.导入数据创建索引




7.测试查询







Apache Solr 是一个开源的搜索服务器,Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。定制 Solr 索引的实现方法很简单,用 POST 方法向 Solr 服务器发送一 个描述所有 Field 及其内容的 XML 文档就可以了。定制搜索的时候只需要发送 HTTP GET 请求 即可,然后对 Solr 返回的信息进行重新布局,以产生利于用户理解的页面内容布局。Solr 1.3 版 本开始支持从数据库(通过 JDBC)、 RSS 提要、 Web 页面和文件中导入数据,但是不直接支持从 二进制文件格式中提取内容,比如 MS Office、Adobe PDF 或其他专有格式。 更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。 通过对 Solr 进行适当的配置, 某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此 外,很多 Lucene 工具(如 Nutch、 Luke)也可以使用 Solr 创建的索引 Solr 的特性包括:  高级的全文搜索功能  专为高通量的网络流量进行的优化  基于开放接口(XML 和 HTTP)的标准  综合的 HTML 管理界面  可伸缩性-能够有效地复制到另外一个 Solr 搜索服务器  使用 XML 配置达到灵活性和适配性  可扩展的插件体系 1.2.1 Solr使用Lucene并且进行了扩展  一个真正的拥有动态域(Dynamic Field)和唯一键(Unique Key)的数据模式(Data Schema)  对 Lucene 查询语言的强大扩展!  支持对结果进行动态的分组和过滤  高级的,可配置的文本分析  高度可配置和可扩展的缓存机制 5/8/2011 Page 4 5/8/20112009-02-17 版权所有,侵权必究All rights reserved 第4页,共56页Page 4 , Total56  性能优化  支持通过 XML 进行外部配置  拥有一个管理界面  可监控的日志  支持高速增量式更新(Fast incremental Updates)和快照发布(Snapshot Distribution) 1.2.2 Schema(模式)  定义域类型和文档的域  能够驱动智能处理  声明式的 Lucene 分析器规范  动态域能够随时增加域  拷贝域功能允许对一个域进行多种方式的索引,或者将多个域联合成一个可搜索的域  显式类型能够减少对域类型的猜测  能够使用外部的基于文件的终止词列表,同义词列表和保护词列表的配置 1.2.3 查询  拥有可配置响应格式(XML/XSLT,JSON,Python,Ruby)的 HTTP 接口  高亮的上下文搜索结果  基于域值和显式查询的片段式搜索(Faceted Search)  对查询语言增加了排序规范  常量的打分范围(Constant scoring range)和前缀式查询-没有 idf,coord,或者 lengthNorm 因子,对查询匹配的词没有数量限制  函数查询(Function Query)-通过关于一个域的数值或顺序的函数对打分进行影响  性能优化 1.2.4 核心  可插拔的查询句柄(Query Handler)和可扩展的 XML 数据格式  使用唯一键的域能够增强文档唯一性  能够高效地进行批量更新和删除  用户可配置的文档索引变化触发器(命令)  并发控制的搜索器  能够正确处理数字类型,从而能够进行排序和范围搜索  能够控制缺失排序域的文档  支持搜索结果的动态分组 1.2.5 缓存  可配置的查询结果,过滤器,和文档缓存实例  可插拔的缓存实现  后台缓存热启:当一个新的搜索器被打开时,可配置的搜索将它热启,避免第一个结果慢 下来,当热启时,当前搜索器处理目前的请求(???)。  后台自动热启:当前搜索器缓存中最常访问的项目在新的搜索器中再次生成,能够在索引 器和搜索器变化的时候高速缓存常查询的结果 5/8/2011 Page 5 5/8/20112009-02-17 版权所有,侵权必究All rights reserved 第5页,共56页Page 5 , Total56  快速和小的过滤器实现  支持自动热启的用户级别的缓存 1.2.6 复制  能够将使用 rsync 传输时改变的索引部分有效的发布  使用拉策略(Pull Strategy)来简化增加搜索器  可配置的发布间隔能够允许对时间线和缓存使用进行权衡选择 1.2.7 管理接口  能够对缓存使用,更新和查询进行综合统计  文本
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值