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
知识点
相关教程
更多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实现方案