solr部署(转http://www.cnblogs.com/qiyebao/p/3880121.html)

2019-03-27 00:48|来源: 网路

将Solr和Tomcat结合:

  1.在D盘下创建目录 D:\Demos\Solr

       2.解压solr-4.9.0文件,我这里下载的是这个4.9版本,将example文件夹下的solr文件夹中的所有文件(不含solr文件夹本身)

拷贝到D:\Demos\Solr目录下

       3.创建solr web应用,将解压后的solr-4.9.0下的dist目录下的solr-4.9.0.war 文件

拷贝到D:\apache-tomcat-7.0.54\webapps文件夹下,重命名为solr.war,一定要自己解压这个war文件,(启动tomcat会自动解压,但是这个文件里面的lib目录的东西好像是解压不出来),看到webapps下面多了一个solr文件夹,如下图:

       4.打开D:\Demos\Solr\collection1\conf下的solrconfig.xml文件,

把这几个配置注释掉,暂时过不到

继续往下找到DataDir节点,修改值为<dataDir>${solr.data.dir:d:/Demos/Solr/data}</dataDir>  ,data文件夹为存储查询索引和数据的地方,data文件夹自己创建

       5.打开D:\apache-tomcat-7.0.54\webapps\solr\WEB-INF文件夹下的web.xml文件,增加env-entry节点(默认是注释掉的),修改值为 <env-entry-value>D:/Demos/Solr</env-entry-value>,注意斜线。

       6.将解压后的solr-4.9.0文件夹下的dist/solrj-lib下的所有jar包

拷贝到D:\apache-tomcat-7.0.54\lib文件夹下

启动Tomcat之后,在地址栏输入:http://localhost:8080/solr

进入Tomcat管理程序,找到solr,如果发现是没有启动的,或者点Start按钮也无法启动solr成功,如下图:

 

需要在Tomcat日志文件夹下面查了下localhost.2014-07-31.log这个日志文件,找到问题的症结!

 

 

这个错误就是缺jar包(缺slf4j.jar)。 把F:\tools\开发工具\Lucene\solr-4.9.0\example\lib\ext这个路径下的所有jar包

拷进D:\apache-tomcat-7.0.54\webapps\solr\WEB-INF\lib这个文件夹,也就是应用的lib文件夹下。同时把solr包下的F:\tools\开发工具\Lucene\solr-4.9.0\example\resources\log4j.properties这个日志文件

拷近D:\apache-tomcat-7.0.54\webapps\solr\WEB-INF\classes(没有classes文件夹自己手工创建一下)。

最后solr应用程序的lib目录里面的jar文件是这样的,如下图:

重新启动tomcat,输入网址http://localhost:8080/manager/html,启动solr,如下图:

从Tomcat里面访问solr,如下图:

看到这个界面之后就大功告成了!!!终于把solr搞定了。java就是配置太费尽啊。


转自:http://www.cnblogs.com/kimshine/articles/3925972

相关问答

更多
  • 你意思是微信公众号的验证问题吗? 这个和是不是阿里云服务器没关系啊 登录微信公众平台官网后,在公众平台后台管理页面 - 开发者中心页,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,其中URL是开发者用来接收微信消息和事件的接口URL。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。
  • 我用的jquery Pager 做到无刷新的分页,如果需要的话请追问,我把我做的例子给你发过去(sql2000+asp.net(C#)+jquery)
  • 在JS中将JSON的字符串解析成JSON数据格式,一般有两种方式:
    1.一种为使用eval()函数。
    2. 使用Function对象来进行返回解析。
    用eval函数来解析,并且使用jquery的each方法来遍历
    用jquery解析JSON数据的方法,作为jquery异步请求的传输对象,jquery请求后返回的结果是json对象,这里考虑的都是服务器 返回JSON形式的字符串的形式,对于利用JSONObject等插件封装的JSON对象,与此亦是大同小异,这里不再做说明。
    这里 ...
  • 您可以使用DIH索引所有文件。 如果要清理内容,还有一个HTMLStripTransformer, Though answer provided by Okke Klein is good but its much complex. I found the simplest solution for the problem i am submitting the file over http but with the option stream.file=local_file_path Example :- ...
  • Solr需要在Java EE应用程序服务器中运行。 您可以使用Jetty或Tomcat 。 Nginx将通过AJP或simliar充当代理,将所有RESTless请求转发给Solr。 我没有使用我的ajp与nginx,但我已经读过这个 。 基本上,您将同时运行所有Java EE应用程序服务器,Rails服务器,nginx,passenger和ajp代理。 您还可以设置代理通行证,这里有一个教程 。 探索不同的选项,看看哪一个是你的赌注。 Solr needs to run in a Java EE appl ...
  • 2016-08-12 14:46:20 [scrapy] DEBUG: Filtered offsite request to 'www.cnblogs.com': http://www.cnblogs.com/kylinlin/default.html?page=2> 你的设定为: allowed_domains = ["cnblogs"] 这甚至不是一个领域。 它应该是: allowed_domains = ["cnblogs.com"] 2016-08-12 14:46:20 [scrapy] ...
  • 不要在UUID列上使用CHARACTER SET utf8 。 改为ascii。 进一步讨论uuids以及如何进一步缩小它们: http : //mysql.rjweb.org/doc.php/uuid FI.filterID = '4dce2235-aafd-4ba2-b248-c137ad6ce8ca'真的有50K行吗? GROUP BY跨越两个表( LPP和SL ),因此无法进行优化。 可以改变吗? SUM(...)可能具有比您预期的更大的值。 这是因为JOINs 。 尝试重写子查询中SUM的计算。 ...
  • 回答你的第一个问题。 虽然它可能看起来像是在生成中文字符但实际上正在发生的是将字节数组转换为unicode。 在c#中,通常当您想要存储一个字节数组时,将其转换为base64,这是您的第二个示例似乎返回的内容。 你的第一个例子就是这样: var encryptedBytes = myBytes.RSAEncrypt(publicKey); Convert.ToBase64String(encryptedBytes) // this line changed returns strings like "Anv ...
  • MeadCo ScriptX可能有助于确保页面适合1:1,但这只有在减小打印边距的尺寸时才会增加可打印区域。 您可以使用MeadCo ScriptX设置边距。 是的,您可以控制标题和页脚(包括将它们设置为空字符串)。 打印内容的字体控制完全由css决定,不需要MeadCo ScriptX。 使用ScriptX,您还可以控制用于页眉和页脚的字体。 考虑ScriptX的一种有用方法是自动化IE。 如果您可以使用IE打印设置以1:1的比例可靠地打印出打印输出,那么您可以使用(比如)javascript重现所有这些 ...
  • 您也可以使用Visual Studio编译它。 opencv includepaths已经有opencv2部分。 所以正确的includepath只会是: C:\\opencv2.4.11\\opencv\\build\\include You can compile it with Visual Studio as well. The opencv includepaths already have the opencv2 part of it. So the correct includepath w ...