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)

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话 在这里找到并能使用表示配置成功
下面讲解链接数据库
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!