一、solr 的简单介绍

Apache Solr 是一个开源的搜索server。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。

每一个文档由一系列的 Field 构成。每一个 Field 表示资源的一个属性。Solr 中的每一个 Document 须要有能唯一标识其自身的属性,默认情况下这个属性的名字是
id,在 Schema 配置文件里使用:<uniqueKey>id</uniqueKey>进行描写叙述。

  Solr是一个高性能,採用Java5开发。基于Lucene的全文搜索server。文档通过Http利用XML加到一个搜索集合中。

查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包含:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性。提
供一套强大Data Schema来定义字段,类型和设置文本分析。提供基于Web的管理界面等。

二、solr 3.5 的下载

solr 3.5下载地址:http://www.apache.org/dist//lucene/solr/

tomcat  tomcat-7.0.26 下载:http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-7/v7.0.26/bin/apache-tomcat-7.0.26.zip

三、solr 3.5的安装

1、解压tomcat-7.0.26 到 e:\tomcat-7.0.26\下

2、打开tomcat-7.0.26\conf 改动  server.xml 文件

  1. <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   redirectPort="8443" URIEncoding="UTF-8"/>
  1. <Connector port="8080" protocol="HTTP/1.1"  connectionTimeout="20000"   redirectPort="8443" URIEncoding="UTF-8"/>

改动默认port8080,能够不改动。加入字符编码  URIEncoding="UTF-8" 否则中文会乱码

3、在apache-solr-3.5.0\dist文件夹下找到apache-solr-3.5.0.war把重命名为solr.war 并上传到 tomcat-7.0.26/webapps下。

4、创建一个solr.xml文件。

在tomcat-7.0.14\conf\Catalina\localhost\下创建一个solr.xml文件。内容为:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <Context docBase="e:/tomcat-7.0.26/webapps/solr" debug="0" crossContext="true" >
  3. <Environment name="solr/home" type="java.lang.String" value="e:/tomcat-7.0.26/solr" override="true" />
  4. </Context>
  1. <?

    xml version="1.0" encoding="UTF-8"?>

  2. <Context docBase="e:/tomcat-7.0.26/webapps/solr" debug="0" crossContext="true" >
  3. <Environment name="solr/home" type="java.lang.String" value="e:/tomcat-7.0.26/solr" override="true" />
  4. </Context>

docBase:为solr的上传文件夹

5、把apache-solr-3.5.0\example文件夹下的solr文件夹上传到e:/tomcat-7.0.26文件夹下.索引文件会默认会放到 e:/tomcat-7.0.26\solr\data下.

6、又一次tomcat 在浏览器中输入:http://localhost:8080/

会出现:welcome to solr

solr admin  说明公布已成功!

四、solr 3.5与IKAnalyzer 3.2.8分词的整合

1、IKAnalyzer下载地址:IKAnalyzer 3.2.8

2、加入IKAnalyzer3.2.8.jar

把IKAnalyzer3.2.8.jar放到 tomcat-7.0.14\webapps\solr\WEB-INF\lib下;

3、schema.xml 添加信息

进入文件夹编辑schema.xml文件。在<Types>下加入下面内容:

  1. <fieldType name="text" class="solr.TextField" >
  2. <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  3. <analyzer type="index">
  4. <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
  5. <filter class="solr.StopFilterFactory"
  6. ignoreCase="true" words="stopwords.txt"/>
  7. <filter class="solr.WordDelimiterFilterFactory"
  8. generateWordParts="1"
  9. generateNumberParts="1"
  10. catenateWords="1"
  11. catenateNumbers="1"
  12. catenateAll="0"
  13. splitOnCaseChange="1"/>
  14. <filter class="solr.LowerCaseFilterFactory"/>
  15. <filter class="solr.EnglishPorterFilterFactory"
  16. protected="protwords.txt"/>
  17. <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  18. </analyzer>
  19. <analyzer type="query">
  20. <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
  21. <filter class="solr.StopFilterFactory"
  22. ignoreCase="true" words="stopwords.txt"/>
  23. <filter class="solr.WordDelimiterFilterFactory"
  24. generateWordParts="1"
  25. generateNumberParts="1"
  26. catenateWords="1"
  27. catenateNumbers="1"
  28. catenateAll="0"
  29. splitOnCaseChange="1"/>
  30. <filter class="solr.LowerCaseFilterFactory"/>
  31. <filter class="solr.EnglishPorterFilterFactory"
  32. protected="protwords.txt"/>
  33. <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  34. </analyzer>
  35. </fieldType>
  1. <fieldType name="text" class="solr.TextField" >
  2. <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
  3. <analyzer type="index">
  4. <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
  5. <filter class="solr.StopFilterFactory"
  6. ignoreCase="true" words="stopwords.txt"/>
  7. <filter class="solr.WordDelimiterFilterFactory"
  8. generateWordParts="1"
  9. generateNumberParts="1"
  10. catenateWords="1"
  11. catenateNumbers="1"
  12. catenateAll="0"
  13. splitOnCaseChange="1"/>
  14. <filter class="solr.LowerCaseFilterFactory"/>
  15. <filter class="solr.EnglishPorterFilterFactory"
  16. protected="protwords.txt"/>
  17. <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  18. </analyzer>
  19. <analyzer type="query">
  20. <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" isMaxWordLength="false"/>
  21. <filter class="solr.StopFilterFactory"
  22. ignoreCase="true" words="stopwords.txt"/>
  23. <filter class="solr.WordDelimiterFilterFactory"
  24. generateWordParts="1"
  25. generateNumberParts="1"
  26. catenateWords="1"
  27. catenateNumbers="1"
  28. catenateAll="0"
  29. splitOnCaseChange="1"/>
  30. <filter class="solr.LowerCaseFilterFactory"/>
  31. <filter class="solr.EnglishPorterFilterFactory"
  32. protected="protwords.txt"/>
  33. <filter class="solr.RemoveDuplicatesTokenFilterFactory"/>
  34. </analyzer>
  35. </fieldType>

然后在<fields>下加入:

  1. <field name="name1" type="text" indexed="true" stored="true" required="true" />
  1. <field name="name1" type="text" indexed="true" stored="true" required="true" />

5、又一次tomcat 在浏览器中输入:http://localhost:80/solr/analysis.jsp  进去 solr admin 显示:

最新文章

  1. 激活windows7 企业版小记
  2. HDU 5074 Hatsune Miku(2014鞍山赛区现场赛E题)
  3. ubuntu 常用命令集合版(一)【大侠勿喷,菜鸟欢迎】(转载)
  4. css加阴影
  5. php--sphinx的使用
  6. java基础知识回顾之java Thread类--java线程实现常见的两种方式实现Runnable接口(二)
  7. oracle表分区心得
  8. H264/AVC视频解码时AVC1和H264的区别
  9. 数据结构学习——shell排序的C语言实现
  10. 性能测试实践-linux
  11. C#关键字列表
  12. 2.13. 获取托管对象(Core Data 应用程序实践指南)
  13. C++中的继承详解(3)作用域与重定义,赋值兼容规则
  14. 03_Linux FTP
  15. reset Cisco 2960 password
  16. UVA 11149-Power of Matrix(等比矩阵求和)
  17. SharePoint 配置PowerShell任务计划
  18. Docker 安装redis(四)
  19. Qt5_当前exe所在路径
  20. OpenCV教程(45) harris角的检测(3)

热门文章

  1. ThinkPhp3.2 无法加载模块:Index
  2. c - 统计字符串&quot;字母,空格,数字,其他字符&quot;的个数和行数.
  3. 武汉科技大学ACM:1009: 华科版C语言程序设计教程(第二版)习题5.12
  4. JAVA-3-水仙花
  5. [转]Windows中的句柄(handle)
  6. Mysql 5.7.9 cmake boost.cmake 处理
  7. C# .NET 使用第三方类库DotNetZip解压/压缩Zip rar文件
  8. 配置一个servlet程序
  9. Bootstrap 基础教程
  10. 最难忘的Bug调试经历