solr 3.5 配置及应用(一)

来源:互联网 发布:初高中网络培训机构 编辑:程序博客网 时间:2024/06/04 17:58

一、solr 的简介

Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个属性的名字是 id,在 Schema 配置文件中使用:<uniqueKey>id</uniqueKey>进行描述。

  Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。文档通过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 文件

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

  修改默认端口8080,可以不修改,添加字符编码  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文件。内容为:  

[html] view plaincopy
  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>下添加以下内容: 

[html] view plaincopy
  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>下添加:

[html] view plaincopy
  1. <field name="name1" type="text" indexed="true" stored="true" required="true" />  

5、重新tomcat 在浏览器中输入:http://localhost:80/solr/analysis.jsp  进去 solr admin 显示:
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 点错了允许易企秀获得权限怎么办 淘宝还没发货商家拒绝退款怎么办 买家不补邮费还要你发货怎么办 天猫客服提示获取信息失败怎么办 拼多多下单了商家不发货怎么办 店铺扣2分宝贝降权了怎么办 淘宝店没订单没流量怎么办啊 淘宝id账号登录密码忘记了怎么办 淘宝网店铺授权客服联系不上怎么办 卖家发货买家查不到物流信息怎么办 物流信息到了但东西没到怎么办 淘宝详情已更改对方恶意投诉怎么办 淘宝店写的不给退换怎么办 从饿了么商家借款逾期怎么办 谷歌浏览器网页无法复制文字怎么办 复制粘贴在文件本里找不到了怎么办 淘宝商家给我寄错东西怎么办 美团客户点餐商家没有了怎么办 如果银行卡里的钱突然没有了怎么办 微信绑定的银行卡怎么没有了怎么办 西亚超市商品退货赠品不退怎么办 淘宝发布宝贝推荐橱窗位不够怎么办 抖音和微信软件冲突怎么办 淘宝开过店想给别家做客服怎么办 学网上开店别人不主动教你怎么办 淘宝店铺身份信息复核逾期了怎么办 一件代发进货后如果没卖出去怎么办 国外供货商收了钱不发货怎么办 企业被注销之后淘宝企业店怎么办 在淘宝上买了东西店家关门了怎么办 在淘宝上买东西被店家骂了怎么办 淘宝店家错发了两次货怎么办 我的身份证注销了淘宝支付宝怎么办 买了空调坏了店家不管怎么办 支付宝充话费没到账也不退款怎么办 淘宝上店家关铺无法赔偿怎么办 未发货申请退款卖家拒绝怎么办 淘宝订单未发货买家恶意退款怎么办 淘宝被限制购买还有没退款的怎么办 复制粘贴了打字在复制下页怎么办? 得了抑郁症没办法还贷款了怎么办