Solr环境搭建
一、认识Solr
搜索引擎服务器
二、环境搭建
1、 JDK
http://www.oracle.com/technetwork/java/javase/downloads/index.html
环境变量配置
(都用系统变量,Path里的java_home放到最前面,否则可能出问题。或都放在用户变量里,已测)
‘JAVA_HOME’:’ C:\Program Files\Java\jdk1.8.0_73’
‘CLASSPATH’:’ .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;’
‘Path’:’ ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;’
命令行 ‘java’ ‘java -version’ ‘javac’,确认JDK安装及配置成功
2、 Tomcat
http://tomcat.apache.org/index.html
环境变量配置
‘CLASSPATH’:’ %TOMCAT_HOME%\BIN’
所以完整的CLASSPATH应该是
‘.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%TOMCAT_HOME%\BIN’
Tomcat的安装目录\bin\startup.exe 启动tomcat。
浏览器访问 http://localhost:8080/ ,一个提示Tomcat安装成功的页面
点击startup.exe后是一个cmd窗口,关闭窗口后,就停止服务了。
所以要将Tomcat安装成Windows系统服务
命令行%TOMCAT_HOME%\bin\service.bat install
双击tomcat9w.exe,显示’Apache Tomcat 9 Properties’窗口,修改启动方式为Automatic,点击’Start’以启动tomcat服务
3、 Solr
http://mirrors.hust.edu.cn/apache/lucene/solr/
(Download的是5.5.0,亲测,这个版本,以下步骤,一步都不能省)
\server\solr-webapp\文件夹下有个webapp文件夹,将之复制到Tomcat\webapps\目录下,并改成solr
\server\lib\ext 中的 jar 全部复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中
\server\resources 中的 properties文件全部(有2个)复制到 Tomcat\ webapps\solr\WEB-INF\lib 目录中
\server\solr 目录复制到计算机某个目录下,如D:\SolrHome
打开Tomcat\webapps\solr\WEB-INF下的web.xml,找到如下配置内容(初始状态下该内容是被注释掉的):
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>/put/your/solr/home/here</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
将<env-entry-value>中的内容改成你的solr_home路径,这里是D:\ SolrHome
浏览器输入
http://localhost:8080/solr/admin.html#/
即可出现solr的管理界面
三、创建Core
1、什么是Core?
Solr相当于一个数据库,Core就是Solr库中的一张表,a single index and associated transaction log and configuration files
2、在SolrHome下新建一个文件夹,名称即Core name,如创建一个’Companies’文件夹
3、将\configsets\basic_configs下的conf文件夹到Companies目录下
4、在’Companies’下新建core.properties文件,空白即可
5、重启Tamcat,后浏览器的管理界面已经有了一个’Companies’的Core了
6、怎么修改Fields
在managed-schema可修改Fields、Types
Types请区分’text’(这个版本的text_general)和’string’
查询发现text为相交即匹配
可在配置的最后加上这样一行
<solrQueryParser defaultOperator="AND"/>
这就 查询结果 就变成了数据库的like
也可引入分词器IKAnalyzer、MMSeg4j
IKAnalyzer分词不同于数据库的like。’软件工程师’, ’软件’可匹配上,但’软’匹配不上
顺利搭建完成