本文只是Solr 4.0的基础教程,本人不经常写东西,写的不好请见谅,欢迎到群233413850进行讨论学习。
转载请标明原文地址:http://my.oschina.net/zhanyu/blog/86147
先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为HttpSolrServer,我是找了半天才发现,大家以后可以注意。
部署前准备:
Solr 4.0 目录:

这里是我的部署方式,Tomcat安装好之后把apache-solr-4.0.0\example\webapps下的solr.war文件拷贝到Tomcat下的Tomcat7.0\webapps目录下,然后启动Tomcat 报错不用管,solr.war会自动解压,之后打开Tomcat7.0\webapps\solr\WEB-INF\web.xml,把下面代码复制进去放到后面:
2 |
<env-entry-name>solr/home</env-entry-name> |
3 |
<env-entry-value>E:\SolrHome</env-entry-value> |
4 |
<env-entry-type>java.lang.String</env-entry-type> |
其中 E:\SolrHome 是存放solr配置文件等,修改为自己文件的位置,为了看着更清晰直观,你可以这样放:
E:\Tomcat7.0
E:\apache-solr-4.0.0
E:\SolrHome
现在可以重新启动Tomcat了,没有报错,通过这个地址进入Solr4.0页面:http://localhost:8080/solr

如果进入以上界面说明成功了,没有成功的话页面会有ERROR提示。
如图:左侧core0,core1等是solr 4.0中的示例,core0和core1位于apache-solr-4.0.0\example\multicore所有文件都下拷贝到E:\SoleHome下,core0和core1可以理解为两个库,都是独立的,用来存放索引以及生成这些索引文件所需要的配置文件,solrtest是我测试建立的目录,如图:

没添加一个库都需要在solr.xml里面进行配置,这个比较简单
1 |
<solr persistent="false"> |
2 |
<cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:}"> |
3 |
<core name="core0" instanceDir="core0" /> |
4 |
<core name="core1" instanceDir="core1" /> |
5 |
<core name="collection1" instanceDir="collection1" /> |
6 |
<core name="solrtest" instanceDir="solrtest"/> |
1 |
name="",是库的名字,instanceDir="",是目录 |
每个目录下包含两个文件夹conf和data,data下有两个文件夹index和tlog,index是存放生成的索引文件,tlog存放log,conf下是必要的配置文件schema.xml和solrconfig.xml,可以参考官方或者core里面的配置文件:
01 |
<?xml version="1.0" ?> |
02 |
<schema name="example
solr test" version="1.1"> |
04 |
<fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/> |
05 |
<fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/> |
10 |
<field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/> |
11 |
<field name="type" type="string" indexed="true" stored="true" multiValued="false" /> |
12 |
<field name="name" type="string" indexed="true" stored="true" multiValued="false" /> |
13 |
<field name="_version_" type="long" indexed="true" stored="true"/> |
16 |
<!--
field to use to determine and enforce document uniqueness. --> |
17 |
<uniqueKey>id</uniqueKey> |
19 |
<!--
field for the QueryParser to use when an explicit fieldname is absent --> |
20 |
<defaultSearchField>name</defaultSearchField> |
22 |
<!--
SolrQueryParser configuration: defaultOperator="AND|OR" --> |
23 |
<solrQueryParser defaultOperator="OR"/> |
solrconfig.xml我还不是很懂,在这里就不讲了,但是必须配置(好像是必须配):
01 |
<?xml version="1.0" encoding="UTF-8" ?> |
02 |
<!--
可以从core文件中copy过来 --> |
04 |
<luceneMatchVersion>LUCENE_40</luceneMatchVersion> |
06 |
<directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/> |
08 |
<dataDir>${solr.solrtest.data.dir:}</dataDir>
solr.solrtest.data.dir存放的是索引目录 |
10 |
<updateHandler class="solr.DirectUpdateHandler2"> |
12 |
<str name="dir">${solr.solrtest.data.dir:}</str> |
16 |
<requestHandler name="/get" class="solr.RealTimeGetHandler"> |
18 |
<str name="omitHeader">true</str> |
22 |
<requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" /> |
24 |
<requestDispatcher handleSelect="true" > |
25 |
<requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" /> |
28 |
<requestHandler name="standard" class="solr.StandardRequestHandler" default="true" /> |
29 |
<requestHandler name="/analysis/field" startup="lazy" class="solr.FieldAnalysisRequestHandler" /> |
30 |
<requestHandler name="/update" class="solr.UpdateRequestHandler" /> |
31 |
<requestHandler name="/admin/" class="org.apache.solr.handler.admin.AdminHandlers" /> |
33 |
<requestHandler name="/admin/ping" class="solr.PingRequestHandler"> |
34 |
<lst name="invariants"> |
35 |
<str name="q">solrpingquery</str> |
38 |
<str name="echoParams">all</str> |
42 |
<!--
config for the admin interface --> |
44 |
<defaultQuery>solr</defaultQuery> |
之后在exampledocs目录下手动创建一个solr1.xml文件:
4 |
<field name="id">solr1</field> |
5 |
<field name="type">type1</field> |
6 |
<field name="name">my
solr test</field> |
跟schema.xml中的字段对应,好了现在可以提交数据了,这里在window命令窗口提交数据,把E:\apache-solr-4.0.0\example\exampledocs下的post.jar复制到 E:\SolrHome\exampledocs下
打开命令窗口CD 到E:\SolrHome\exampledocs下使用命令,Tomcat不要忘了开:
java -Durl=http://localhost:8080/solr/solrtest/update -Ddata=files -jar post.jar solr1.xml

如图成功的添加的索引,看下E:\SolrHome\solrtest\data\index下的文件:

进入solr页面:

点击Executu Query查询,右侧生成了地址可以打开查看,到此结束。
- Android程序开发0基础教程(一)
程序猿学英语就上视觉英语网 Android程序开发0基础教程(一) 平台简单介绍 令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...
- ThinkPHP 6.0 基础教程 - 安装
ThinkPHP6.0 的环境: PHP >= 7.1.0 我本地环境: Win10 PhpStudy 安装 PhpStudy 如果你已经安装 PhpStudy 或其他环境,请忽略这里 安装方法 ...
- Zabbix3.0基础教程之一:系统监控,zabbix安装与基本配置
一.安装环境: 系统环境: 系统版本:CentOS Linux release 7.4.1708 (Core) 内核版本:3.10.0-693.el7.x86_64 关闭Firewall与SELinu ...
- SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口
一.SpringBoot 框架的特点 1.SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容 ...
- Solr 4.0 部署实例教程
Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...
- Python 0基础开发游戏:打地鼠(详细教程)VS code版本
如果你没有任何编程经验,而且想尝试一下学习编程开发,这个系列教程一定适合你,它将带你学习最基本的Python语法,并让你掌握小游戏的开发技巧.你所需要的,就是付出一些时间和耐心来尝试这些代码和操作. ...
- SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)
1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集 ...
- SpringCloud2.0 Feign 服务发现 基础教程(五)
1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...
- SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)
1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...
- SpringCloud2.0 Ribbon 服务发现 基础教程(四)
1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...
随机推荐
- Coursera self-driving2, State Estimation and Localization Week3, GNSS IMU for pose estimation
如何表示旋转?三种方法 1. rotation matrix 2. unit quaternions 四元数 3. Euler angles 4. compare 坐标系 ECIF - Earth-C ...
- MRO, mixin的解读
本文试着将python中类继承中方法解析顺序MRO(method resolution order)和mixin梳理清楚 先MARK 类的继承中,super()的使用还是蛮多讲究的,因为看pytorc ...
- 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明)
十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) @ 目录 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) 1. 基本介绍 2. 准备工作 3. ...
- AtCoder Regular Contest 182(A B C)
原来第二题比第一题简单吗 A.Chmax Rush! \(\texttt{Diff 1110}\) 给定三个序列 \(S,P,V\),其中 \(S\) 的长度为 \(N\),\(P,V\) 的长度为 ...
- VMware Vsphere 8.0 ESXI 主机部署
一. VMware vSphere 8.0新特性 VMware vSphere 8.0是一个全新的版本,引入了许多新功能,其中最主要的新功能包括 1.集中式云控制台 使 IT 管理员能够借助 vSph ...
- go中能比较和不能比较的数据类型
在 Go 语言中,比较操作符(== 和 !=)可以用于许多数据类型,但也有一些数据类型不支持直接比较.下面详细解释哪些数据类型可以比较,哪些不能比较,以及相关的规则和原因. 可以比较的数据类型 布尔型 ...
- 2024年5月中国数据库排行榜:OP持续领跑,GoldenDB稳步上升进前八
入夏时节,2024年5月的中国流行度排行榜排行榜如期发布.在这个骄阳似火的季节,各大数据库产品之间的竞争愈发激烈,名次间的细微变动展示了市场的动态和活力.各家厂商不断创新,通过技术升级和性能优化,力求 ...
- 墨天轮国产数据库沙龙 | 四维纵横姚延栋 :MatrixDB,All-in-One高性能时序数据库
分享嘉宾:姚延栋 北京四维纵横数据有限公司创始人.原Greenplum 北京研发中心总经理.Greenplum中国开源社区创始人.PostgreSQL中文社区常委.壹零贰肆数字基金会(非营利组织)联合 ...
- kubernetes日志回滚测试
kubernetes日志回滚测试 操作节点 podName 查询日志的命令 得到结果 初始pod ms-zipkin-deployment-5949c78884-4x5h7 kubectl logs ...
- 如何在Windows 11系统中将任意文件(如bat/log等)固定在开始菜单?
在Windows 11系统中,默认只支持将.exe/文件夹/.zip固定在开始菜单,如果想将其他文件如.bat/.log等文件固定在开始菜单将在右键菜单中找不到选项. 一个更简单的办法: 对任意文件右 ...