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,如需转载请自行联系原作者
相关文章
|
17天前
|
搜索推荐 Java 应用服务中间件
【solr】安装和使用
【solr】安装和使用
8 1
|
5月前
|
分布式计算 小程序 Java
solr(四)solr目录结构
solr start –p 端口号 #单机版启动solr服务 solr restart –p 端口号 #重启solr服务 solr stop –p 端口号 #关闭solr服务
45 0
|
7月前
|
XML JSON 搜索推荐
12Solr简介
12Solr简介
23 0
|
XML 存储 JSON
Solr学习总结
Solr学习总结
127 0
Solr学习总结
|
XML JSON 搜索推荐
和 Solr 对比|学习笔记
快速学习和 Solr 对比。
80 0
|
XML 存储 JSON
和 Solr 对比 | 学习笔记
快速学习和 Solr 对比
84 0
|
存储 SQL 编解码
Solr-lucene 使用案例大全
假期重新把之前在新浪博客里面的文字梳理了下,搬到这里。 本文sole lucene的使用案例汇总。
192 0
|
XML 缓存 自然语言处理
Solr 的作用,为什么要用solr服务,
Solr 的作用,为什么要用solr服务,
243 0
|
Java 应用服务中间件
Solr的搭建
Solr的搭建
148 0
Solr的搭建
|
自然语言处理 负载均衡 Java
Solr 的使用和搭建
solr全文检索的强大
Solr 的使用和搭建