欢迎投稿

今日深度:

全文检索solr,

全文检索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端的简单使用!



     

www.htsjk.Com true http://www.htsjk.com/solr/34025.html NewsArticle 全文检索solr,  Solr是什么?         Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储...
相关文章
    暂无相关文章
评论暂时关闭