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,如需转载请自行联系原作者
相关文章
|
分布式计算 小程序 Java
solr(四)solr目录结构
solr start –p 端口号 #单机版启动solr服务 solr restart –p 端口号 #重启solr服务 solr stop –p 端口号 #关闭solr服务
71 0
|
XML JSON 搜索推荐
12Solr简介
12Solr简介
46 0
|
Oracle 关系型数据库 MySQL
25对Solr的思考
25对Solr的思考
46 0
|
XML 存储 JSON
Solr学习总结
Solr学习总结
155 0
Solr学习总结
|
Java 应用服务中间件
Solr的搭建
Solr的搭建
188 0
Solr的搭建
|
自然语言处理 负载均衡 Java
Solr 的使用和搭建
solr全文检索的强大
Solr 的使用和搭建
|
XML 缓存 自然语言处理
Solr 的作用,为什么要用solr服务,
Solr 的作用,为什么要用solr服务,
288 0
|
自然语言处理 Java Apache
|
Java Perl 自然语言处理
|
Java 索引 存储
通过solrj对solr进行开发
应用场景 当安装部署完solr之后,我们可以通过solrj来连接solr,进行新建,删除索引等等操作,达到全文检索的效果。
1161 0