solr笔记 solr安装(一)

solr部署到项目已经一段时间了。期间从开始到放弃,再开始 。记得第一次接触solr的时候各种配置让人闹心。最担心的就是报错。不明所以。

现在搞定了 也清晰了很多

首先感谢这个大大http://www.cnblogs.com/wenxinghaha/提供系列教程  没有它真的不知道怎么开始

 

solr的基本概念就不介绍了 网上一大推所以直接进入正题。

javaJDK安装

1.首先solr是部署在tomcat服务器上面 tomcat依赖java jdk(类似.netframwork的东东)

(1)百度下载javajdk并安装

(2)配置jdk环境所需环境变量

 

   新建系统环境变量名字为JAVA_HOME 变量值为jdk bin目录上一级

   新建环境变量CLASSPATH变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\BIN   

   修改环境PATH 最后加上  ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

   配置完成之后 通过cmd 输入java -version 如果成功显示版本号则表示jdk安装成功 我们就可以进行下一步安装tomcat了

 Tomcat安装

  下载tomcat 可以去官网下载http://tomcat.apache.org/ 也可以去我去我云盘http://pan.baidu.com/s/1nvvWrjz(我现在用的版本是7.0)

   现在解压后放到任意盘

   1.tomcat环境变量配置

      新建变量名:TOMCAT_HOME  变量值:你的TOMCAT所在目录    如E:\apache-tomcat-7.0.64

  2tomcatbin目录下的(startup.bat)

 

   网址输入 http://localhost:8080   打开tomcat欢迎页面则表示配置成功  
   如果8080端口被占用 需要修改 则打开tomcat目录下的conf目录 下面有个server.xml 修改然后重启tomcat
 
  这里提醒一下 凡是后面步骤修改了xml文件都必须重启tomcat
  
  Solr安装
    我这里用的是4.72版本(虽然solr版本已经出到6了 但是配置有些不一样  不过4已经够用了 总的有个开始 虽然没接触后面版本的改动但是个人觉得熟悉了4 去弄6也不是什么大问题)
    下载地址:http://pan.baidu.com/s/1i5sGEkX  下载后解压
    a) 复制解压后的solr-4.7.2目录example/solr到Tomcat的根目录下

  b) 复制解压后solr-4.7.2目录dist/solr-4.7.2.war到Tomcat的webapps/solr.war(solr-4.7.2.war重命名为solr.war);

  c) 复制解压后solr-4.7.2目录example/lib/ext下的所有jar到Tomcat的lib下,同时将example/resources下的log4j.properties文件也复制到Tomcat的lib下;

  d) 在Tomcat/conf/Catalina/localhost下创建solr.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?>
<Context docBase="webapps/solr.war" debug="0" crossContext="true">
<Environment name="solr/home" type="java.lang.String" value="c:/Program Files/Apache Software Foundation /Tomcat7/solr" override="true"/>
</
Context>

 

   注意value指向a步骤的solr文件夹 大致意思 跟iis部署一个网站一样吧。

    c步骤大概是将solr封装的日志记录所需要资源放到tomcat  solr最终会根据相对路径去这里找到他们

   浏览器输入 http://localhost:8080/solr/  (如果你上面修改了tomcat端口 这这里的端口则是你修改的端口)

  

如果出现如下欢迎页面 同时logging下面没有error错误信息 则表示成功

可能照着这个步骤并不能一帆风顺 但是当出现错误的时候根据错误的关键字查询资料并解决了 才能懂solr各个配置的原因

配置IK分词器

 solr会将数据根据分词 进行索引  然后每个词通过倒序索引记录这个词语所在的文档目录

 比如我有条数据的标题叫我爱中国 并且使用了ik分词器   分词的时候分成 (1.我     2.爱     3.中国 )  那么在导入数据的时候 每个词组索引都会记录文档目录 假设当前数据的文档id为1

生成的索引大致为这样(当然左侧会排序 这样就可以快速找到词组的索引目录)

这个时候我们在导入一条数据tilte叫我爱广州小蛮腰 导入拆成词组后则是假设文档目录id为2

新的索引目录则是

这个时候我们搜索"我"的时候 则快速找到 包含此词组的数据位置 2条数据

搜索小蛮腰  则快速找到这些字包含的所在位置  因为搜索的时候也会对着3个字进行分词

  然后取 交叉取出 就是3个字同时都有的文档目录   如果"小" 还有包含文档3  其他2字没有 则此数据不算搜索数据

 

 以下是如何配置ik

 下载地址:http://pan.baidu.com/s/1boDBxAf  

解压 .复制下面ik分词解压包下面的如下三个文件到Tomcat7\webapps\solr\WEB-INF\lib\文件夹下面:IKAnalyzer.cfg.xml、IKAnalyzer2012FF_u1.jar、stopword.dic(solr的分词文件查询默认是在这个目录下面查找的)

3.修改Tomcat7\solr\collection1\conf\文件夹下的schema.xml.在<types></types>中增加如下内容:

 

复制代码
<!--配置IK分词器—name是名称 下面可以选择分词器-->
    <fieldType name="text_ik" class="solr.TextField">
        <!--索引时候的分词器-->
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>

<!--查询时候的分词器-->

<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</
fieldType>
复制代码
(name名字不是必须得这样取 只是让solr找到他的一个名字)
你会发现这些里面都有很多fildType 都是solr自带的分词组件 solr对于分词提供了扩展接口 WhitespaceTokenizerFactory
不过在4.0就取消这个接口 你会发现很多ik版本 但是很多都不能用 原因就是那些ik是根据这个扩展接口定义的分词
如果你想自己定义分词器 那么就可以根据solr的相关版本 查询提供的接口

 



 

你没有改ik配置的name话 在这里找到并能使用表示配置成功

下面讲解链接数据库

 

posted @   意犹未尽  阅读(198)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
点击右上角即可分享
微信分享提示