欢迎投稿

今日深度:

solr详解,开发必备,

solr详解,开发必备,


1.基础知识

 

 

 

创建索引的过程如下:

(1)、建立索引器IndexWriter,这相当于一本书的框架

(2)、建立文档对象Document,这相当于一篇文章

(3)、建立信息字段对象Field,这相当于一篇文章中的不同信息(标题、正文等)。

(4)、将Field添加到Document里面。

(5)、将Document添加到IndexWriter里面。

(6)、关闭索引器IndexWriter。

按照上图所示的结构,创建索引有三个基本的步骤:

(1)、创建Field,将文章的不同信息包装起来

(2)、将多个Field组织到一个Document里面,这样完成了对一篇文章的包装。

(3)、将多个Document组织到一个IndexWriter里面,也就是将多个文章组装起来,最终形成索引

看上去的solr就像一张表数据,同时你也可以建立多个表即多core,多core的创建请查看 http://www.cnblogs.com/happyday56/p/5789776.html

1.solr服务器配置

windows http://www.cnblogs.com/happyday56/p/5727089.html

linux

 2.spring data solr

https://github.com/spring-projects/spring-data-solr

https://github.com/spring-projects/spring-data-solr-examples

3.分词器

推荐IKAnalyzer 和 mmseg4j

ik分词:https://code.google.com/p/ik-analyzer
mmseg4j:https://code.google.com/p/mmseg4j/downloads/list

ik分词器

将ik-analyzer-solr5-5.x.jar这个jar包放入solr项目下的 WEB-INF\lib目录中去

将IKAnalyzer.cfg.xml,mydict.dic,stopword.dic放在 solr项目下的WEB-INF\classes目录中去

修改scheme文件

<fieldType name="text_ik" class="solr.TextField"><analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/></fieldType>

 mmseg4j分词器

   <dependency>
            <groupId>com.chenlb.mmseg4j</groupId>
            <artifactId>mmseg4j-solr</artifactId>
            <version>2.3.0</version>
        </dependency>

schema配置

 <fieldType name="text_mmseg4j_complex" class="solr.TextField" positionIncrementGap="100" >
  <analyzer>
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
  </analyzer>
</fieldType>
<fieldType name="text_mmseg4j_maxword" class="solr.TextField" positionIncrementGap="100" >
  <analyzer>
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" dicPath="dic"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
  </analyzer>
</fieldType>
<fieldType name="text_mmseg4j_simple" class="solr.TextField" positionIncrementGap="100" >
  <analyzer>    
    <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="simple" dicPath="dic"/>
    <filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" />
  </analyzer>
</fieldType>
 

4.参考文献

http://wiki.apache.org/solr/

Apache Solr查询语法

http://www.nice98.com/1.html

 

分类: java
本文转自快乐就好博客园博客,原文链接:http://www.cnblogs.com/happyday56/p/5784205.html,如需转载请自行联系原作者

www.htsjk.Com true http://www.htsjk.com/solr/42608.html NewsArticle solr详解,开发必备, 1.基础知识       创建索引的过程如下: (1)、建立索引器IndexWriter,这相当于一本书的框架 (2)、建立文档对象Document,这相当于一篇文章 (3)、建立信息字段...
评论暂时关闭