在Eclipse中运行Solr 基础知识_java

Solr我还是个菜鸟,写这一些文章只是记录一下最近一段时间学习Solr的心得。
Solr是什么?
最近我学Solr的时候,一直看到一句话,Solr 是一个可供企业使用的、基于 Lucene 的开箱即用的搜索服务器。当时想了很久没看懂这句话是什么意思,什么是搜索服务器?当接触的深了才发现,所谓的搜索服务器,就是能够在服务器(Tomcat,Jetty)中运行的搜索程序的一个工程。
Solr能做什么?
了解过Lucene的人都知道,Lucene在做两件事情,索引管理与搜索,Solr同样也不例外,做的也是这两件事情,只不过使之更加简单化。
如果对Lucene还不太了解,推荐看一下觉先的博客:http://www.cnblogs.com/forfuture1978/category/300665.html,这篇博客对于我刚刚接触全文检索的时候帮助很大,另外推荐一本书,英文版Lucene In Action,中文版Lucene实战。
下面,切入正题,既然Solr是一个搜索服务器,我们当然需要它能够在我们的Eclipse里进行管理,我就写一下我的一些心得吧。
在Eclipse中运行Solr
1.下载solr完整包,我用的是Solr 3.6.1;
2.在Eclipse中新建一个Dynamic Web project项目,我的命名是solr,大家也可以这样,如果不一样,在你访问的时候注意一下就好了。
3.删除新建项目中的WebContent下的所有内容,将下载的Solr完整包中的dist目录下的apache-solr-3.6.1.war解压,将里面的所有内容复制到WebContent下,复制完成之后会有红叉,别管了,就当没看见。
4.指定solrHome,solrHome是存放solr核心配置文件与索引的地方。
打开WEB-INF/web.xml文件,添加以下节点:

复制代码 代码如下:

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

其中env-entry-name必须是solr/home,env-entry-value节点是你要放置solr配置文件的地方。
5.添加solr配置文件
这里有两种方法,自己建立或者是拷贝下载完整包中的核心配置文件。
第一种方法:拷贝,进入下载包中的example/mutiCore目录下,可以看到有core1,core2,将此文件夹以及下面的solr.xml文件拷贝至solrHome。
第二种方法:(1).新建,进入solrHome,新建solr.xml文件,配置如下:

复制代码 代码如下:

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="false">
<cores adminPath="/admin/cores">
<core name="merchant" instanceDir="merchant" />
</cores>
</solr>

其中adminPath的文件如代码所示,最好不要更改,core中name随意,最好是有一定的实际意义的,instanceDir,这里指定了该core的目录,这里配置了merchant,也就意味着是solrHome下的merchant目录。
在这里解释一下多核心配置,此处示例我只存放了一个core,因为我们的产品只需要对着一个merchant进行全文检索。如果有需要,比如说还需对coupon等文件检索的话,就需要配置多核。example/muticore文件夹下给出了多核的示例,大家可以参考一下。
(2).新建merchant目录(与配置中的instanceDir一致),然后在merchant下新建conf目录,在conf里新建两个xml文件,分别是schema.xml,solrconfig.xml,这两个xml的配置会在下篇博客中详细讲述,如果不知道如何配置,拷贝example/muticore/core1/conf里面的两个文件进来即可。
6.在Eclipse中启动solr
在servers窗口中new一个server,然后将刚刚新建的项目add进去;
修改端口,双击刚刚新建的服务器,在port里面修改HTTP/1.1的端口为8983,这里可以自定义,最好不要和你的其他项目重复。然后保存;
启动服务器。
7.在浏览器中打开solr管理面板
打开以下地址,http://localhost:8983/solr/,然后你就可以看到Admin merchant选项了,点击进入,就是刚刚配置的merchant core的管理面板。

时间: 2024-10-30 22:02:29

在Eclipse中运行Solr 基础知识_java的相关文章

eclipse中运行monkeyrunner脚本之环境搭建(4)_Android

monkeyrunner脚本使用Python语法编写,但它实际上是通过Jython来解释执行. Jython是Python的Java实现,它将Python代码解释成Java虚拟机上的字节码并执行,这种做法允许在Python中继承一个Java类型,可以调用任意的 Java API . 本文档主要是可以实现在eclipse环境中运行Monkeyrunner脚本.所需要的环境和工具如下:win7 os.jdk.eclipse.sdk.python.jython.模拟器或真机设备. 在前两章中,我们分别

学习php中10个基础知识总结

学习php中10个基础知识总结 看了些PHP的基础知识,自己在这里总结下: 1,在HTML嵌入PHP脚本有三种办法: 以下为引用的内容: <script language="php"> //嵌入方式一 echo("test"); </script> <? //嵌入方式二 echo "<br>test2"; ?> <?php //嵌入方式三 echo "<br>test3&

中文观点句 软件-这个软件老师给的如何在eclipse中运行,有点大,大神帮帮忙

问题描述 这个软件老师给的如何在eclipse中运行,有点大,大神帮帮忙 http://pan.baidu.com/s/1zeDjd

eclipse-安卓在Eclipse中运行项目,为什么虚拟机中不会直接运行项目?

问题描述 安卓在Eclipse中运行项目,为什么虚拟机中不会直接运行项目? 解决方案 贴出debug再百度一下就知道了 解决方案二: Eclipse不可不知的用法之四:配置服务器与项目的新建运行

利用javax.comm中的实例文档simplewrit在eclipse中运行,显示无错误,运行后怎么才知道自己在串口发送成功了?

问题描述 利用javax.comm中的实例文档simplewrit在eclipse中运行,显示无错误,运行后怎么才知道自己在串口发送成功了,我用了个叫串口精灵的软件,但是显示没有数据从串口发出

web项目在eclipse中运行正常 部署到tomcat中运行报spring context错误

问题描述 web项目在eclipse中运行正常 部署到tomcat中运行报spring context错误 20C 解决方案 quatrz配置有问题参考:http://blog.csdn.net/kingzuo/article/details/12572881http://www.cnblogs.com/kay/archive/2007/11/02/947372.html

python在eclipse中运行错误

问题描述 python在eclipse中运行错误 ` 解决方案 正确的写法应该为 def concat(seps, *args): return seps.join(args) 可变参数后面,不能再跟普通的参数,只能跟字典类型,例如 concat(*args, **kwargs)

关于eclipse中运行mapreduce不是在hadoop集群环境运行而是在本地运行的问题

问题描述 关于eclipse中运行mapreduce不是在hadoop集群环境运行而是在本地运行的问题 1.我用eclipse远程连接linux上的hadoop集群,跑Mapreduce程序都可以顺利完成,结果在集群里也可以看得到. 但是,跑程序的时候,我去集群上Jps没有我正在跑的程序 而且,我到job的web界面下,也没有我的MapReduce任务记录... 是不是eclipse其实在本地跑的,没有在集群中跑,我无法想明白,还请指教 解决方案 你远程的意思指的什么,是从windows下远程连

html5-Phonegap项目在eclipse中运行,修改html和js不生效

问题描述 Phonegap项目在eclipse中运行,修改html和js不生效 最近刚接触phonegap,通过命令行创建phonegap项目后,导入eclipse中进行开发,但是将index.html修改后,点击eclipse的运行,改后的代码没有生效. 必须重新在命令行中:phonegap run android 后才能将效果加载. 求解有没有办法直接通过eclipse中的运行就让html中改后的代码生效. ps:建立phonegap项目的过程 phonegap create my-app