关于solr部署,网上的资料很多,小编做的仅仅是结合自己的理解,为大家呈现一个思路清楚的部署顺序。
1.下载solr包
下载地址:http://apache.etoak.com//lucene/solr/ ,选择下载版本,小编用的是1.4.0。
2.解压solr包
解压下载文件。比喻解压到目录E:/apache-solr-1.4.0。
在E:/apache-solr-1.4.0/example/webapps/下面有solr.war。把它拷到Tomcat webapps/下。
启动服务器,后台报错不用管。你会发现Tomcat webapps下面多了一个项目文件夹solr,依次打开solr/WEB-INF/web.xml,在web.xml文件中加上<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>@SOLRHOME@</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
其中@SOLRHOME@是一个目录,代表着solr配置文件和生成索引的地方,你必须自己指定。
比如指定成E:\multicore,同时,把E:/apache-solr-1.4.0/example/下面的文件夹multicore拷到E盘下。
<env-entry>
<env-entry-name>solr/home</env-entry-name>
<env-entry-value>E:\multicore</env-entry-value>
<env-entry-type>java.lang.String</env-entry-type>
</env-entry>
重启服务器,不再报错,访问http://localhost:8080/solr/,如果看到Solr core1,Solr core2页面,并可以点进去。恭喜,你已经将solr部署成功。
补充<env-entry></env-entry>:指定应用环境入口。 指定solr/home这一变量的具体值。网上还有另外两种配置方式,不太了解,就不说了。
3.multicore文件夹里面有何玄机
multicore下面有文件core1,core2,...,solr.xml。
core1,core2就是两个库,用于存放索引以及生成这些索引文件所需要的配置文件。每个库都是独立的,互不影响。
打开core1,找到其中conf目录下schema.xml,solrconfig.xml,这两个文件就是生成索引时的参考标准,要怎么生成索引,生成的索引长什么样,生成的索引文件存放于何处等等都是基于这两个配置文件。http://zy19982004.iteye.com/blog/805717 已经为大家详细讲解了这两个文件。
当然conf下面并不是只有这两个xml文件,这两个只是最基本的,在以后为数据库建立索引的时候,你会发现,conf下面又多了其他配置文件。
打开core1,找到其中data文件夹,里面就是存放索引的地方啦。默认会存放在这里。我们也没有必要去修改它。
solr.xml,当我们有了库core1,myCore并且库里面有了索引的时候,通过url访问索引,我怎么知道要访问哪一个库呢。url里面肯定是要包含库名的,再通过solr.xml <cores adminPath="/admin/cores">
<core name="core0" instanceDir="core0" />
<core name="core1" instanceDir="core1" />
<core name="myCore" instanceDir="myCore" />
</cores>就可以定位到哪一个索引库了。这个理解不难,做起来更简单:新加一个库myCore的时候,就在solr.xml里面新加一段<core name="myCore" instanceDir="myCore" />。
至此,你应该对索引库有一个大概的理解了。
4.solr服务器
上面的讲解,已经很清楚的告诉我们,solr服务器可以分为两部分:war工程+索引库multicore。
当一个http请求过来的时候,war工程接收到,去索引库multicore里面查找数据,最后返回给用户XML格式的页面。
文章写的比较肤浅,见笑了。如有不妥之处,欢迎大家纠正。
引自: http://zy19982004.iteye.com/blog/969437
分享到:
相关推荐
- **社区支持**: 作为Apache项目的一部分,Solr拥有活跃的社区支持和丰富的第三方插件资源。 #### 二、Solr的功能 - **保存数据**: Solr可以接收并存储各种类型的数据源,如数据库、文件系统等。 - **建立索引**: ...
2. **部署词典**:确保Solr服务器能够访问到`mmseg4j`的词典文件,可能需要将其复制到Solr的lib目录下。 3. **重启Solr**:完成配置后,重启Solr服务以使更改生效。 4. **测试分词效果**:通过Solr的管理界面或API...
**第二部分:网站建设基础**(Part II: Site Building Foundations) - **第 3 章:使用 Views 构建动态页面**(Chapter 3: Building Dynamic Pages Using Views) - 介绍 Views 模块的功能和用法,通过 Views ...
2. **前端框架**:前端部分可能采用了现代化的前端框架,如React或Vue.js,用于构建用户界面。学习笔记会讲解这些框架的基本用法,包括组件化开发、状态管理(如Redux或Vuex)、路由管理(如React Router或Vue ...
SpringBoot是当下非常流行的一款企业级快速开发框架,它基于Spring框架,旨在简化Spring应用的初始搭建以及开发过程。SpringBoot整合Mybatis是企业级开发中非常常见的一种组合,Mybatis作为一款优秀的持久层框架,与...
**Nutch 的核心组成部分:** 1. **爬虫(Spider)**:Nutch 的爬虫负责在网络中发现新的页面并跟踪链接进行抓取。它通过种子URL开始,然后遍历网页,遵循robots.txt协议,尊重网站的抓取规则。 2. **抓取模块...
SpringBoot 是一个基于 Spring 框架的快速开发工具,旨在简化 Spring 应用的初始化和开发流程。它通过提供预配置的 Starter POMs(Maven 配置)和自动配置特性,使得开发者能够迅速构建起具备常见功能的独立应用。...
SpringBoot是Spring家族中的一员,旨在简化Spring应用的初始搭建以及开发过程。它通过提供一套开箱即用的默认配置来减少配置上的负担,使得开发者能够更加专注于业务逻辑的实现。 **历史背景**: - **Java EE时代的...
SpringBoot 是一个基于 Spring 框架的快速开发工具,旨在简化 Spring 应用的初始构建和开发过程。它通过预设配置来减少手动配置的工作量,使得开发者能够更加专注于业务逻辑。SpringBoot 使用 properties 或 yml ...
1. **添加Sentry服务**:在集群中添加Sentry服务是部署的第一步。 2. **选择集群**:根据需求选择合适的集群进行安装。 3. **自定义角色分配**:配置角色分配,以定义不同用户或组的权限。 4. **创建Sentry数据库**...
2. 框架选择:可能采用了Spring Boot,它简化了Spring的初始配置,提供了一站式服务,包括数据库操作、MVC、安全等。 3. 数据持久化:可能使用Hibernate或MyBatis作为ORM框架,将数据库操作与业务逻辑解耦。 4. 前端...
2. **微服务架构**:项目采用SpringBoot和SpringCloud,构建了一个分布式系统,能够处理高并发和复杂业务场景。SpringBoot简化了Spring应用的初始搭建以及开发过程,而SpringCloud则提供了完整的微服务解决方案。 3...
部署到云端 i. 49. Cloud Foundry i. 49.1. 绑定服务 ii. 50. Heroku iii. 51. Openshift iv. 52. Google App Engine v. 53. 接下来阅读什么 8. VII. Spring Boot CLI i. 54. 安装CLI ii. 55. 使用CLI i. 55.1. ...
**关系数据库的范式**主要包括第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、第四范式(4NF)和第五范式(5NF或BCNF)。 - **第一范式**:数据表中的每一列都是不可分割的基本数据项。 - **第二范式**:在...
2. 商品模块:商品展示、搜索,可能涉及到Elasticsearch或Solr等全文搜索引擎。 3. 购物车模块:添加商品、修改数量、删除商品等功能。 4. 订单模块:订单创建、支付处理,可能整合了第三方支付接口如支付宝、微信...