安装solr

1. 下载apache-solr-1.4.1

2. 解压 取出apache-solr-1.4.1\dist\apache-solr-1.4.1.war,改名为solr.war 并放到Tomcat的webapp目录下

3. 设置SolrHome,这个主要是设置 apache-solr-1.4.1/example/solr这个文件夹的位置,这里面放了solr的配置信息。 这个最坑爹,solr.solr.home 根本不起作用

Solr说有三种方式识别slor home:

1,让服务器在包含solr的目录中启动,或者把solr放到服务器的启动目录中。就是说是要solr和服务器在一个目录中。例如tomcat,是需要把solr放到bin目录中。

2,设置系统环境变量。这个绝对不行!绝对坑爹。和jdk版本没有什么关系,1.5以上就没问题。

3,设置JNDI,这个可以。



/**
327 * Determines the instanceDir from the environment.
328 * Tries JNDI (java:comp/env/solr/home) then system property (solr.solr.home);
329 * if both fail, defaults to solr/
330 * @return the instance directory name
331 */
332 /**
333 * Finds the instanceDir based on looking up the value in one of three places:
334 * <ol>
335 * <li>JNDI: via java:comp/env/solr/home</li>
336 * <li>The system property solr.solr.home</li>
337 * <li>Look in the current working directory for a solr/ directory</li>
338 * </ol>
339 *
340 * The return value is normalized. Normalization essentially means it ends in a trailing slash.
341 * @return A normalized instanceDir
342 *
343 * @see #normalizeDir(String)
344 */
345 public static String locateInstanceDir() {
346 String home = null;
347 // Try JNDI
348 try {
349 Context c = new InitialContext();
350 home = (String)c.lookup("java:comp/env/"+project+"/home");
351 log.info("Using JNDI solr.home: "+home );
352 } catch (NoInitialContextException e) {
353 log.info("JNDI not configured for "+project+" (NoInitialContextEx)");
354 } catch (NamingException e) {
355 log.info("No /"+project+"/home in JNDI");
356 } catch( RuntimeException ex ) {
357 log.warning("Odd RuntimeException while testing for JNDI: " + ex.getMessage());
358 }
359
360 // Now try system property
361 if( home == null ) {
362 String prop = project + ".solr.home";
363 home = System.getProperty(prop);
364 if( home != null ) {
365 log.info("using system property "+prop+": " + home );
366 }
367 }
368
369 // if all else fails, try
370 if( home == null ) {
371 home = project + '/';
372 log.info(project + " home defaulted to '" + home + "' (could not find system property or JNDI)");
373 }
374 return normalizeDir( home );
375 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值