在Eclipse中运行Solr 基础知识
发布时间:2021-07-06 22:51:04
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的管理面板。


猜你喜欢
- 对于现在的 App 来说,布局页面基本都会用到沉浸式状态栏,单纯的沉浸式状态栏很容易解决,但是在华为手机上存在一个底部虚拟按键的问题,会导致
- Android XML設置屏幕方向(android:screenOrientation)详解注意:Android只支持270度旋
- (1)对于public修饰符,它具有最大的访问权限,可以访问任何一个在CLASSPATH下的类、接口、异常等。它往往用于对外的情况,也就是对
- 假设下面是你的视频网站链接列表,如果别人想爬取你的数据十分轻松,看规则就知道数据库是序列自增的http://www.xxxx.com/vid
- 1.在res上面右键->New->Android resource directory2.点击之后,出现下图Resource t
- 1.概述数据库开发一直是JAVA开发的核心之一,作为现在JAVA EE的基石框架,Spring Boot自身携带了一个JDBCTemplat
- 一、先上效果图借用某东App的效果,如下。折叠时的效果:展开时的效果:二、ChipGroup和ChipchipGroup和chip之前写过博
- 目录1.使用双重for循环打印九九乘法表2.使用双重for循环打印九九乘法表,跳过第五行3.使用do{}while()实现打印九九乘法表1.
- 本文实例为大家分享了Java实现答答租车系统的具体代码,供大家参考,具体内容如下项目需求: 基本界面需求:and:最后是把账单打印出来:个人
- 1、利用延迟队列延时队列,第一他是个队列,所以具有对列功能第二就是延时,这就是延时对列,功能也就是将任务放在该延时对列中,只有到了延时时刻才
- 导入相关jar包1、junit<dependency> <groupId>junit</grou
- Apache Dubbo是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡
- 在 APK 开发中,通过 Java 代码来打开系统的安装程序以安装 APK 并不是什么难事,一般的 Android 系统都有开放这一功能。但
- 目录java 反射调用Service导致Spring注入Dao失效问题发生背景:1、错误方法:通过反射执行service的方法2、解决方法:
- C#函数返回多个参数数值通过out/Ref实现,声明函数时用out指定返回变量。写了一个DEMO,输入字符“测试字符&a
- 一、需求Jenkins大多数情况下都是用来部署Java项目,Java项目有一个特点是>需要编译和打包的,一般情况下编译和打包都是用ma
- @Order控制配置类/AOP/方法/字段的加载顺序1.AOP加载顺序 @Component &nbs
- 很久没写文章了,一方面是最近几个月比较忙,没太多时间,另一方面是最近拖延症严重,写文章的想法总是一拖再拖。今天找一个小案例写一下,与懒惰对抗
- 本文实例讲述了C#遍历指定目录下所有文件的方法。分享给大家供大家参考。具体分析如下:先通过DirectoryInfo打开指定的目录,然后通过
- 从相册或拍照更换图片功能的实现:(取图无裁剪功能)获取图片方式: (类似更换头像的效果)1、手机拍照 选择图片;2、相册选取图片;本文只是简