Solr6.6一天总结(一)环境搭建
来源:互联网 发布:有意识的人工智能 编辑:程序博客网 时间:2024/06/04 19:38
第二篇在这里http://blog.csdn.net/u011562187/article/details/77753873
因为公司可能会用到solr,今天研究了一下,遇到小问题一个个解决了,在这里做一下记录。
搭建环境
参考 http://www.itwendao.com/article/detail/261395.html 搭建环境
先做一下具体的准备工作:jdk1.8.0_66、apache-tomcat-8.5.20、solr6.6.0,jdk和tomcat怎么安装就不啰嗦了,直接网上搜索就行了。
这是solr6.6.0的下载地址:http://mirrors.hust.edu.cn/apache/lucene/solr/6.6.0/,下载solr-6.6.0.zip。
下面是我的具体的搭建步骤:
第一步:把solr-6.6.0.zip解压之后,找到solr-6.6.0/server/server-webapp/目录下的webapp文件夹,复制粘贴到tomcat下的webapps下并改名solr;
第二步:把solr-6.6.0/server/lib/ext目录下的所有jar包(不要ext目录)、和solr-6.6.0/dist下的solr-dataimporthandler-6.6.0.jar、solr-dataimporthandler-extras-6.6.0.jar粘贴复制到tomcat下的solr项目的WEB-INF/lib目录下;把solr-6.6.0/server/lib下的metrics-*.jar,几个以metrics开头的jar包放到tomcat下的solr项目的WEB-INF/lib目录下,否则启动tomcat时会出现java.lang.NoClassDefFoundError: com/codahale/metrics/MetricSet错误,下面会有描述;
第三步:把server目录下的solr文件夹复制粘贴到其他目录,然后重命名为:solr_home,这是solr核心文件夹,我这里直接放在了tomcat/webapps/solr文件夹下,见上图。
第四步:修改tomcat下的solr项目的WEB-INF/web.xml,这一步用来指定默认的solr/home。在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> -->
在其后面添加如下内容,把填第三步solr_home文件夹的地址。
<!-- <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> <env-entry-name>solr/home</env-entry-name> <env-entry-value>D:\tomcat\apache-tomcat-8.5.20\webapps\solr\solr_home</env-entry-value> <env-entry-type>java.lang.String</env-entry-type> </env-entry>
把tomcat下的solr项目的web.xml文件中
<security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint>
这段注释掉。否则访问http://localhost:8080/solr/index.html时报下面的错误:
HTTP Status 403 - Access to the requested resource has been denied。下面也有描述
第五步:然后把solr-6.6.0/server/resources下的log4j.properties粘贴到tomcat下的solr项目的WEB-INF下;
做完这五步就基本搭建完成了,启动tomcat,可以访问http://localhost:8080/solr/index.html 了,界面如下
下面说一下搭建过程中可能遇到的异常:
1,启动tomcat时如果报下面的错误:
严重: Exception starting filter SolrRequestFilter
java.lang.NoClassDefFoundError: com/codahale/metrics/MetricSetat java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Class.java:2671)at java.lang.Class.getConstructor0(Class.java:3075)at java.lang.Class.newInstance(Class.java:412)at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:119)at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4700)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5340)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1092)at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1834)at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)Caused by: java.lang.ClassNotFoundException: com.codahale.metrics.MetricSetat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)... 20 more
请把solr-6.4.1/server/lib下的metrics-core-3.1.2.jar,metrics-ganglia-3.1.2.jar,metrics-graphite-3.1.2.jar,metrics-jetty9-3.1.2.jar,metrics-jvm-3.1.2.jar这几个jar包放到tomcat下的solr项目的WEB-INF/lib目录下。这个异常是缺少jar包,具体哪个不清楚,没有把metrics开头的jar包一个一个地测试,有耐心的同学可以找一下具体哪个jar包。
,2,访问http://localhost:8080/solr/index.html时如果报下面的错误:
HTTP Status 403 - Access to the requested resource has been denied
把tomcat下的solr项目的web.xml文件中
<security-constraint> <web-resource-collection> <web-resource-name>Disable TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method>TRACE</http-method> </web-resource-collection> <auth-constraint/> </security-constraint> <security-constraint> <web-resource-collection> <web-resource-name>Enable everything but TRACE</web-resource-name> <url-pattern>/</url-pattern> <http-method-omission>TRACE</http-method-omission> </web-resource-collection> </security-constraint>
这段注释掉。这段配置限制了对solr资源的访问,注释掉就可以访问了。
解决掉上面的异常后,重启tomcat,访问http://localhost:8080/solr/index.html,不出意外会进入如下图的页面;
创建core
9月1日补充:直接使用命令 solr.cmd create -c ws_core -p 8050
ws_core是core名称 ,8050是tomcat端口
后台就可以看到新的core
—————————————————-分割线(下面可以略过)—————————————————-
1.在上面新建的solr_home文件夹下新建一个new_core文件夹,
2.将solr-6.6.0\server\solr\configsets\sample_techproducts_configs下的config文件夹复制到new_core文件夹下。
3.在new_core文件夹下新建一个core.properties,里面写上
name=new_core
4.访问http://localhost:8080/solr/index.html, Core Admin ==> Add Core 如下图添加core,(我这里已经添加过了,尽管提示dataDir必须先创建,但我好像没创建,它自动生成了,如果有问题,就自己创建吧)
正常的话可以看到core selector下面有一个new_core,选中后的界面如下:
至此,一个新的core创建完成,下一篇记录一下我做的一些功能测试,包括插入字符串,插入doc文档(因为我们要做的可能就是搜索文档内容),搜索结果高亮,过滤匹配度过低的结果,中文分词支持等。刚开始研究,还有诸多不懂的地方。
- Solr6.6一天总结(一)环境搭建
- solr6.6教程-基础环境搭建(一)
- solr6.6环境搭建
- solr6.6环境搭建
- solr学习一:solr6.6单机环境Linux搭建
- Solr6.0学习 (一).环境搭建
- solr6.6教程-基础环境搭建(二)
- solr6.21环境搭建
- Solr6.2.1环境搭建
- Solr6.2.1 学习笔记(一)搭建运行环境(两种方式)
- Solr6.0.0以上环境搭建
- 搭建Hadoop2.6+Hbase0.98.20+Nutch2.3.1+solr6.0.1环境
- solr实践(1)-- Solr6.2.0环境搭建
- solr6的学习与使用(一):基本搭建
- Solr6.6总结(二)功能测试
- 工作流引擎Activiti学习第一天(一)环境搭建
- 关于昨天环境搭建一天的总结
- solr6.3 相关特性及环境搭建
- 一则安全漏洞缺陷的格式参考(赛门铁克)
- hdu 3038
- 一、log4j环境搭建
- 软件安全测试·DoS·HTTP慢速攻击
- 开源 App
- Solr6.6一天总结(一)环境搭建
- LintCode:M-最长无重复字符的子串
- Android基础-初识SQLite 1-1 sqlite数据库 以及 SQL语法 介绍
- Python-读取目录所有文件的文件名并保存到txt文件
- OWASP Top 10 2017-RC1-4e2d65877248-V1.0.pdf
- 洛谷P3368 树状数组
- 2017.8.29
- JVM内存区域划分Eden Space、Survivor Space、Tenured Gen,Perm Gen解释
- 【机器学习系列1】Xgboost算法