全文检索solr

 Solr是什么?

        Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>进行描述。
       Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。Solr是一个独立的企业级搜索应用服务器,目前很多企业运用solr开源服务。原理大致是文档通过Http利用XML加到一个搜索集合中。查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

Solr配置       

 具体的搭建solr的过程就不再赘述,只提出几点需要注意的
        
    bin:命令
    contrib:扩展包如集群工具类

    dist:solr所有的工程以及jar包,目标文件
        
       其中solr*.war,即solr的web工程,运行在web容器中
        solrj-lib :solrj依赖的jar
        solr-solrj-4.10.3.jar:solr编译后的jar包
   exmaple:实例,其中solr 是标准的solrhome,
         
       collection1中包括schema.xml(定义字段,和数据类型,配置中文分析器),solrconfig.xml(对每一个solrcore的配置)
webapps中的solr.war等同于dist中的war包
 部署到tomcat中:
     1.solr.war复制到tomcat/webapps/中,自解压;
     2.solr-4.10.3/example/lib/ext的jar包复制到/tomcat/webapps/solr/WEB-INF/lib/
     3.修改solr工程下的web.xml文件,solr服务器solrhome的位置。
    

   4.配置业务字段,使用IK-Analyzer中文分析器,将分析器的jar复制到/tomcat/webapps/solr/WEB-INF/lib/,需要把IKAnalyzer需要的扩展词典及停用词词典、配置文件复制到solr工程的classpath。/usr/local/solr/tomcat/webapps/solr/WEB-INF/classes  包括 IKAnalyzer.cfg.xml ext_stopword.dic mydict.dic 
   5.配置fieldType。需要在solrhome/collection1/conf/schema.xml中配置。
     指定分析器               

<fieldType name="text_ik"class="solr.TextField">
  <analyzerclass="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
         配置业务字段

<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price"  type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />
 
<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

索引库的使用

   query
   
添加/更新
   
删除
   
 根据条件删除

<delete>
    <query>*:*</query>
</delete>
<commit/>
该篇博客主要介绍了sorl的配置和web端的简单使用!



     
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值