最近在一个新闻网站项目中,有一个新闻搜索功能,想到使用搜索引擎来解决新闻搜索问题。
一、安装
1.到solr官网下载solr-7.3.1,http://lucene.apache.org/solr/
2.解压之后,在tomcat8.5/webapps目录下创建solr目录,并将solr-7.3.1/server/solr-webapp/webapp 目录下的所有内容拷贝过去到tomcat8.5/webapps目录下
3.将solr-7.3.1/server/lib\ext内的所有jar包、server/lib内以metrics开头的所有jar包,以及gmetric4j-1.0.7.jar复制到tomcat安装目录下的webapps\solr\WEB-INF\lib下。
4.在solr-7.3.1目录下创建solrhome文件夹,并将solr-7.3.1/server/solr 目录下的所有内容拷贝过去
5.在solr-7.3.1/bin目录下执行solr create -c core1,在solr-7.3.1/server/solr目录下会生成core1文件夹,然后把这个文件夹拷贝到,solr-7.3.1/solrhome中
6.修改tomcat8.5/webapps\solr\WEB-INF\web.xml 文件,指定solrhome的位置
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>F:\solr-7.3.1\solrhome</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
并添加权限
<security-constraint>
<web-resource-collection>
<web-resource-name>Disable TRACE</web-resource-name>
<url-pattern>/</url-pattern>
<http-method>DELETE</http-method>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>solr</role-name>
<role-name>admin</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Solr</realm-name>
</login-config>
7.把solr-7.3.1/server/resources目录下的log4j.properties文件拷贝到tomcat8.5/webapps/solr/WEB-INF/classes中.
8.修改tomcat8.5/conf/tomcat-users.xml,最下面加两行
<role rolename="solr"/>
<user username="admin" password="solr" roles="solr"/>
9.启动tomcat,浏览器地址栏输入:http://localhost:8080/solr/index.html,输入tomcat用户名密码就能进入可视化界面了