usic AS下如何正确设置solr

Apache Solr是一个基于Apache Lucene的企业级开源全文检索服务器,它支持层面搜索、命中醒目显示和多种输出格式。

Solr需要运行在一个servlet 容器里(因此目前几乎所有常见的Servlet容器都可以满足Solr的运行需要)。solr在lucene的上层提供了一个基于HTTP/XML的Web Services,应用需要通过这个服务与solr进行交互。

关于Solr的详细介绍,此处就不再赘述。关键是这么好的东西,网上相关的资料主要是关于如何使用,关于如何安装,由于各方面原因,只是在tomcat下如何配置相对较多,但是像AAS这样标准的JavaEE容器来说,tomcat下某些可以运行的东西,可能并不能正常运行。毕竟tomcat不是JavaEE容器,并且tomcat对JSR规范的追随与验证没有那么严格。(但是tomcat轻量并且免费,这就导致很多应用系统在开发时运行在tomcat下正常的代码迁移到Weblogic、WebShpere、Apusic等标准的JavaEE容器下之后,总是会抛出一些异常的原因)

Solr需要运行,必须在AS下指定Solr home,对于如何指定,网上介绍的总体来说有4种:

1. 设置java 的系统参数solr.solr.home

 如 -Dsolr.solr.home=E:\app\solr

2. 设置JNDI lookup "java:comp/env/solr/home"

3. 默认为./solr目录,即当前工作路径下的solr

由于工作路径容易造成问题,因此一般不推荐这种方式。

4.在包含 solr 目录的目录中启动 servlet 容器。(默认的 Solr 主目录是当前工作目录下的solr。)

如果开发时在tomcat下直接配置了

在tomcat里配置java:comp/env/solr/home的一个JNDI指向solr的主目录(example目录下),建立/tomcat55/conf/Catalina/localhost/solr.xml文件。文件内容如下:

<Context docBase="E:/app/solr.war" debug="0" crossContext="true" >

   <Environment name="solr/home" type="java.lang.String" value="E:/app/solr/solr" override="true" />

</Context>

如果按照类似的方法在AAS下配置此文件,solr则会由于找不到指定的配置文件而无法正常启动,这是由于solr寻址的方式造成的。如果按照上述配置,solr会将上下文定位至AAS启动路径而不是应用存在的路径。解决此问题,只需要使用新的配置方式:

打开Solr应用下的web.xml文件,在文件中加入以下内容:

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

重新启动AAS,OK!




原文链接: http://blog.csdn.net/cyq1984/article/details/6664456
转自:http://my.oschina.net/chen106106/blog/48302
2019-03-27 01:22

知识点

相关教程

更多

Solr范围查询,结果不正确问题

Solr 整合到项目中,当用price:[1 TO 1000] 进行范围查询时发现查询结果不对,发现solr中有些类型是不支持整型查询的  支持范围查询的类型  <fieldType name="sInteger" class="solr.SortableIntField" omitNorms="true"/> solr.So

如何设置SOLR的高亮 (highlight)?

打开SOLR的核心配置文件: solrconfig.xml     找到 standard request handler      写入以下XML配置代码:     <requestHandler name="standard" class="solr.SearchHandler" default="true">    &l

如何设置SOLR的高亮 (highlight)

打开SOLR的核心配置文件: solrconfig.xml    找到 standard request handler     写入以下XML配置代码:           view plain    copy to clipboard    print    ?       <requestHandlername="standard"class="solr.

如何设置SOLR的高亮 (highlight)?

打开SOLR的核心配置文件: solrconfig.xml     找到 standard request handler     写入以下XML配置代码:            [c-sharp]    view plain    copy                 <requestHandlername="standard"class="solr.Se

Solr基础--设置solr/home的三种方式

这是在开源中国的第一篇博文,希望将自己遇到的问题,搜藏的笔记跟大家共享,当然今天的内容也不是本人原创,仅仅作为一个开始。争取以后多多原创。 solr/home是solr实例化core核的依据和入口,是必不可少的配置。 在tomcat中有三种方式可以完成其配置。 1、在web.xml中设置 solr/home  C:/example2/solr(path_to_solr_home_solr)  ja

tomcat 下solr的java 环境变量 solr.solr.home 设置

修改apache-tomcat-7.0.39\bin\catalina.bat 增加set JAVA_OPTS=%JAVA_OPTS% -Dsolr.solr.home=D:\document\solr\solr 转自:http://www.cnblogs.com/sidesky/archive/2013/06/09/3129489

solr 3.5 配置及服务器设置

一、solr 的简介 Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个

solr 3.5 配置及服务器设置

一、solr 的简介 Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个

solr 3.5 配置及服务器设置

一、solr 的简介 Apache Solr 是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。Apache Solr 中存储的资源是以 Document 为对象进行存储的。每个文档由一系列的 Field 构成,每个 Field 表示资源的一个属性。Solr 中的每个 Document 需要有能唯一标识其自身的属性,默认情况下这个

Solr部署配置(二)中文分词设置

一、IKAnalyzer 1、把IKAnalyzer4.0.jar,IKAnalyzer.cfg,stopword.dic放到solr目录下的lib中 2、schema.xml文件中添加 <!-- IKAnalyzer --><fieldType name="text_ik" class="solr.TextField" >    &

在solr4.x上使用IK分词设置useSmart没有效果的解决方案

大家知道由于lucene和solr在最新版本在分词方面改动比较大,在solr4.x上使用IK分词,并且设置粗细力度,安装官方的说法是这样设置的: 结果发现建索引和查询时候的分词力度是一样的,默认是安装细力度分词,解决方案如下: package org.apache.solr.analysis; import java.io.Reader; import java.util.Map; import

关于eclipse的设置问题

在eclipse里打开一个文件,会自动帮你打开所在的包,换句话说就是自动帮你定位到所在的包  有时候找文件的路径挺麻烦的,不知道这个在eclipse里是怎么设置的?  求指点     问题补充:是这样的   我在eclipse里打开了a.java和b.jsp两个文件   当我切到a.java时,左边的Package Explorer会自动打开a.java所在的包   当我切换到b.jsp时,左边的

怎样正确查看Linux的内存占用情况

租的VPS是256M的内存,所以要经常查看一下内存的使用情况,查看内存使用的命令是free -m,m是以MB的单位显示内存的使用情况,下面是我服务器上的内存使用情况...

Hadoop lzo 正确安装及问题解决

之前有篇文章 http://www.linuxidc.com/Linux/2012-08/67021.htm介绍解Hadoop-lzo相关问题,同时也介绍到了如何安装.但发现这种安装方法会出现一些问题. 同时这种安装方法也是网上流传的安装方法,我这里予以纠正.先说下大概原因:hadoop-lzo-xxx的前身是hadoop-gpl-compression-xxx,之前是放在google code下

你的服务器没有正确响应Token验证的解决方法

你的服务器没有正确响应Token验证,请阅读消息接口使用指南微信微信公众平台开发模式平台 消息接口启用URL Token 作者:http://txw1958.cnblogs.com/ 原文:http://www.cnblogs.com/txw1958/archive/2013/01/31/weixin-if2-enable.html 你的服务器没有正确响应Token验证的解决方法 一、问题由来

最新教程

更多

java线程状态详解(6种)

java线程类为:java.lang.Thread,其实现java.lang.Runnable接口。 线程在运行过程中有6种状态,分别如下: NEW:初始状态,线程被构建,但是还没有调用start()方法 RUNNABLE:运行状态,Java线程将操作系统中的就绪和运行两种状态统称为“运行状态” BLOCK:阻塞状态,表示线程阻塞

redis从库只读设置-redis集群管理

默认情况下redis数据库充当slave角色时是只读的不能进行写操作,如果写入,会提示以下错误:READONLY You can't write against a read only slave.  127.0.0.1:6382> set k3 111  (error) READONLY You can't write against a read only slave. 如果你要开启从库

Netty环境配置

netty是一个java事件驱动的网络通信框架,也就是一个jar包,只要在项目里引用即可。

Netty基于流的传输处理

​在TCP/IP的基于流的传输中,接收的数据被存储到套接字接收缓冲器中。不幸的是,基于流的传输的缓冲器不是分组的队列,而是字节的队列。 这意味着,即使将两个消息作为两个独立的数据包发送,操作系统也不会将它们视为两个消息,而只是一组字节(有点悲剧)。 因此,不能保证读的是您在远程定入的行数据

Netty入门实例-使用POJO代替ByteBuf

使用TIME协议的客户端和服务器示例,让它们使用POJO来代替原来的ByteBuf。

Netty入门实例-时间服务器

Netty中服务器和客户端之间最大的和唯一的区别是使用了不同的Bootstrap和Channel实现

Netty入门实例-编写服务器端程序

channelRead()处理程序方法实现如下

Netty开发环境配置

最新版本的Netty 4.x和JDK 1.6及更高版本

电商平台数据库设计

电商平台数据库表设计:商品分类表、商品信息表、品牌表、商品属性表、商品属性扩展表、规格表、规格扩展表

HttpClient 上传文件

我们使用MultipartEntityBuilder创建一个HttpEntity。 当创建构建器时,添加一个二进制体 - 包含将要上传的文件以及一个文本正文。 接下来,使用RequestBuilder创建一个HTTP请求,并分配先前创建的HttpEntity。

MongoDB常用命令

查看当前使用的数据库    > db    test  切换数据库   > use foobar    switched to db foobar  插入文档    > post={"title":"领悟书生","content":"这是一个分享教程的网站","date":new

快速了解MongoDB【基本概念与体系结构】

什么是MongoDB MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

windows系统安装MongoDB

安装 下载MongoDB的安装包:mongodb-win32-x86_64-2008plus-ssl-3.2.10-signed.msi,按照提示步骤安装即可。 安装完成后,软件会安装在C:\Program Files\MongoDB 目录中 我们要启动的服务程序就是C:\Program Files\MongoDB\Server\3.2\bin目录下的mongod.exe,为了方便我们每次启动,我

Spring boot整合MyBatis-Plus 之二:增删改查

基于上一篇springboot整合MyBatis-Plus之后,实现简单的增删改查 创建实体类 添加表注解TableName和主键注解TableId import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baom

分布式ID生成器【snowflake雪花算法】

基于snowflake雪花算法分布式ID生成器 snowflake雪花算法分布式ID生成器几大特点: 41bit的时间戳可以支持该算法使用到2082年 10bit的工作机器id可以支持1024台机器 序列号支持1毫秒产生4096个自增序列id 整体上按照时间自增排序 整个分布式系统内不会产生ID碰撞 每秒能够产生26万ID左右 Twitter的 Snowflake分布式ID生成器的JAVA实现方案