尝试安装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 }
第363行,其中的project值为solr.所以环境变量的应当为solr.solr.home. 可是System.getProperty是获取系统属性,不是获到环境变量.获取环境变量的方式应当是:System.getenv,所以用solr.solr.home无论如何也是取不到的.
分享到:
相关推荐
为了在没有网络连接或网络受限的环境中安装Solr,我们需要离线方式来处理。 标题中提到的"ambari离线安装solr所需文件"主要包括两个部分:`solr.tgz`和`SOLR-github`。`solr.tgz`是一个包含Solr软件包的压缩文件,...
文档中详细介绍了如何在ubuntu下面安装solr-4.9.0,以及在安装过程中出现的问题和解决办法
在Tomcat7下安装solr的步骤 在Tomcat7下安装solr的步骤
1.下载solr7.5.tar,拷贝到CentOS解压 2.启动solr 3.开启该端口防火墙 4.控制界面访问 5.创建一个核心(又名索引)(此处测试名称:core1) 6.配置数据库读取信息:DataImportHandler 7.重启solr在core1导入数据库...
在macOS上安装Solr并索引MySQL_在macOS上安装Solr并索引MySQL
在 Linux 上安装 Solr 8.8.2 需要遵循以下步骤: 1. **下载与解压**: 首先,你需要从 Apache 官方网站下载 `solr-8.8.2.tgz` 文件。完成下载后,使用 `tar` 命令解压文件: ``` tar -zxvf solr-8.8.2.tgz ``` ...
安装Solr-5.5.5的步骤如下: 1. **下载和解压**:首先,你需要从Apache官网下载solr-5.5.5的Linux版本,并将其解压到你的Linux系统中的一个目录,例如 `/opt`。 2. **设置环境变量**:创建或修改系统环境变量文件...
当前(2016-11-10) brew 源的 Solr 版本为 6.1.0,你可以通过brew edit solr来修改你要安装的版本,或者通过官方网站下载源码包来进行编译安装。 启动 Solr solr start 返回以下文字提示,则表示 solr 服务器安装成功...
在Linux系统上如何搭建了solr搜索服务,同时运用到项目中
centos7 环境 安装docker 并在docker 中部署solr 并使用
每个服务器上都需要安装Solr,并将它们配置为集群的一部分。这包括配置`solr.in.sh`(在Unix/Linux系统中)或`solr.in.cmd`(在Windows系统中)以指向正确的Java安装路径,并设置其他必要的环境变量。 接下来,你...
在这个版本中,安装和配置过程可能会有所不同,因此在学习Solr时,确保查阅对应版本的文档是非常重要的。 Apache Solr 的官方网站(http://wiki.apache.org/solr/)提供最全面和最新的文档,虽然这些文档通常是英文...
### Ubuntu16.04上Solr7的安装与部署详解 #### 一、环境准备与配置 在开始部署Solr7之前,首先确保已经具备了以下基础环境: 1. **虚拟机环境**:本教程使用的是VMware12.0作为虚拟机平台,操作系统为Ubuntu16.04...
本文将详细介绍如何在本地环境中安装和配置 Solr。 首先,我们需要准备的环境是 JDK 和 Tomcat。Solr 建立在 Java 之上,所以必须先安装 JDK 1.6 或以上版本。在安装 JDK 后,需要设置相应的环境变量,例如 `JAVA_...
Solr 安装部署文档 Solr 是一个基于 Lucene 的搜索服务器,提供了强大的全文搜索功能。下面是基于 Solr 5.5.5 的安装部署文档,包含 Solr 导入 Oracle 数据库的步骤。 Solr 安装部署 1. 下载 Solr 5.5.5,地址:...
### Solr安装与配置知识点详解 #### 一、Solr简介 Solr是一款开源的、高性能的全文搜索引擎,广泛应用于企业级搜索系统中。它基于Lucene开发,并提供了丰富的功能和扩展性,支持多种数据源索引和检索,能够轻松地...
### Solr(Cloudera)使用手册 #### 一、创建Collection与管理实例 在使用Solr(Cloudera)时,创建Collection是基本的操作之一。Collection是Solr中的数据存储单元,相当于关系数据库中的表。 ##### 创建路径与实例 ...