使用tomcat部署solr5

2019-03-20 22:24|来源: 网路

下载

http://archive.apache.org/dist/lucene/solr/

http://archive.apache.org/dist/lucene/solr/5.5.1/

http://archive.apache.org/dist/lucene/solr/5.5.1/solr-5.5.1.zip


环境 :

apache-tomcat-8.0.36.zip

jdk1.8

   C:\Users\MarsHuang>java -version

   java version "1.8.0_25"

   Java(TM) SE Runtime Environment (build 1.8.0_25-b18)

   Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)


先对以下操作的一些操作目录说明一下

E:\dev\solr\solr5\solr-5.5.1:  solr-5.5.1.zip解压后的目录

E:\dev\solr\solr5\solr_home:自定义的solrhome

E:\dev\solr\solr5\apache-tomcat-8.0.36:solr管理后台所在的tomcat目录


部署solr管理后台

1、 解压 solr-5.5.1.zip

2、在tomcat的 webapps下创建一个目录,如solr

3、把solr-5.5.1\server\solr-webapp\webapp(E:\dev\solr\solr5\solr-5.5.1\server\solr-webapp\webapp)的所有文件拷贝到刚创建的solr目录中


4、把 E:\dev\solr\solr5\solr-5.5.1\server\lib\ext下所有jar包拷贝到 E:\dev\solr\solr5\apache-tomcat-8.0.36\webapps\solr\WEB-INF\lib目录中



5、修改 E:\dev\solr\solr5\apache-tomcat-8.0.36\webapps\solr\WEB-INF\web.xml文件,指定solrhome所在目录

<env-entry>
   <env-entry-name>solr/home</env-entry-name>
   <env-entry-value>E:/dev/solr/solr5/solr_home</env-entry-value>
   <env-entry-type>java.lang.String</env-entry-type>
</env-entry>


6、把 E:\dev\solr\solr5\solr-5.5.1\server\resources\ log4j.properties拷贝到 E:\dev\solr\solr5\apache-tomcat-8.0.36\webapps\solr\WEB-INF\classes目录中

E:\dev\solr\solr5\apache-tomcat-8.0.36\webapps\solr\WEB-INF\没有classes目录,自己创建一个


配置solrhome

1、根据上一步的操作,在 E:/dev/solr/solr5/目录下创建一个目录solr_home

2、把 E:\dev\solr\solr5\solr-5.5.1\server\solr目录下所有文件拷贝到E:/dev/solr/solr5/solr_home


3、启动tomcat,访问http://localhost:8080/solr/admin.html


如果你使用的是tomcat7,有可能出现以下异常:



4、在 solr_home中 创建core,我这里创建的core名称是 mycollection

4.1、在 solr_home创建mycollection目录,并在mycollection目录下创建data、conf子目录

4.2、把 E:\dev\solr\solr5\solr_home\configsets\basic_configs 下所有文件拷贝到conf目录中


5、启动tomcat,登录solr登录后台 http://localhost:8080/solr/index.html,添加core


添加成功后,会在E:\dev\solr\solr5\solr_home\mycollection创建一个core.properties配置文件,内容如下:

#Written by CorePropertiesLocator
#Mon Jun 20 10:40:20 CST 2016
name=mycollection
config=solrconfig.xml
schema=schema.xml
dataDir=data


最终 E:\dev\solr\solr5\solr_home\mycollection 的目录结构如下:  

│  core.properties

├─conf

│  │  currency.xml

│  │  managed-schema

│  │  protwords.txt

│  │  solrconfig.xml

│  │  stopwords.txt

│  │  synonyms.txt

│  │  _rest_managed.json

│  │

│  └─lang

│          stopwords_en.txt

└─data

   ├─index

   │      segments_1

   │      write.lock

   │

   └─tlog


如果你只是拷贝了E:\dev\solr\solr5\solr_home\configsets\basic_configs\solrconfig.xmlE:\dev\solr\solr5\solr_home\mycollection\conf,添加core的时候,会出现找不到schema.xml等情况,如:

Error CREATEing SolrCore 'mycollection': Unable to create core [mycollection] Caused by: Can't find resource 'schema.xml' in classpath or 'E:\dev\solr\solr5\solr_home\mycollection'


相关问答

更多

audio onError参数(audio onError arguments)

我可能发现了错误消息对象。 错误代码位于sound.error.code或e.currentTarget.error.code属性中,它可以包含以下4位数之一: MEDIA_ERR_ABORTED=1 MEDIA_ERR_NETWORK=2 MEDIA_ERR_DECODE=3 MEDIA_ERR_SRC_NOT_SUPPORTED=4 检查了它@jsfiddle I probably found that error message object. The error code is in

如何解决此错误:传递给Zend_Mail_Message :: __ construct()的参数1必须是类型数组,没有给出(How to resolve this error: Argument 1 passed to Zend_Mail_Message::__construct() must be of the type array, none given)

根据Zend文档, Zend_Mail_Message接受一个参数作为参数。 您没有传递任何参数。 这就是你得到这个错误的原因。 __construct(array $ params) 除了Zend_Mail_Part :: __ construct()的参数之外,这个构造函数还支持: 具有原始消息内容的文件的文件名或文件句柄 带有消息标志的flags数组,忽略键,使用Zend_Mail_Storage中定义的常量Inherited_from \ Zend_Mail_Part :: __ con

将提示弹出窗口定位在javascript中(positioning the prompt popup in javascript)

根据您使用的浏览器, prompt (和alert )弹出窗口的实现方式不同。 这是因为弹出窗口是浏览器功能,它们不是JavaScript对象或类似的东西。 (就像每个浏览器的控制台不同,它取决于实现。) 如果你真的想要一致地定位/设置你的提示,你将不得不建立自己的提示。 最简单的方法是使用像jQueryUI这样的库。 另一方面,您可以自己构建它: <html> <body> <input id="showPromptButton" type="button" value

java防止大量if,并用设计模式替换它(s)(java prevent a lot of if and replace it with design pattern(s))

你至少可以做的是声明处理依赖于ApplicationCategories enum的行为的方法。 通过这种方式,如果您要向枚举中添加新值,则只会将代码相对于枚举更改。 通过这种方式,您的代码遵守Open Closed原则,因此更容易维护。 enum ApplicationCategories { PROJECTS, CALENDAR, // And so on... WORKINGBOOK; public static void handle(Appli

如何通过镀铬弧焊机部署Android应用程序的数据库?(How do I view the database of an android app when deployed through chrome arc welder?)

编辑:是的,据我所知(刚刚测试过),您只能在VM或真实设备上运行时调试/监控(使用DDMS)您的应用程序。 那么什么有效(没有DDMS): 打开JavaScript控制台(chrome:// inspect / #apps) Chrome中的plugin.shell('adbd') 终端中的adb pull /data/data/your.package.name/databases/name.db 旧答案(使用DDMS): 如果仅获取数据快照就足够了,您可以使用DDMS。 您可以直接从控制台运

相关文章

更多

最近更新

更多