本文只是Solr 4.0的基础教程,本人不经常写东西,写的不好请见谅,欢迎到群233413850进行讨论学习。

转载请标明原文地址:http://my.oschina.net/zhanyu/blog/86147

先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为HttpSolrServer,我是找了半天才发现,大家以后可以注意。

部署前准备:

  • Solr 4.0 必须运行在Java1.5 或更高版本的Java 虚拟机中,运行标准Solr 服务只需要安装JRE 即可。
  • Solr 4.0 :  http://www.apache.org/dyn/closer.cgi/lucene/solr/4.0.0
  • 本文以Tomcat7.0  进行演示。
  • 如果出现错误无法运行,请更换更高版本的JDK,Solr各版本支持JDK的版本不尽相同,可以查阅官方中各个版本的不同。

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,把下面代码复制进去放到后面:

1 <env-entry>
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>
5 </env-entry>

其中  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"/>
7   </cores>
8 </solr>
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">
03   <types>
04    <fieldtype name="string"  class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
05    <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
06   </types>
07  
08  <fields>  
09   <!--
general -->
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"/>
14  </fields>
15  
16  <!--
field to use to determine and enforce document uniqueness. -->
17  <uniqueKey>id</uniqueKey>
18  
19  <!--
field for the QueryParser to use when an explicit fieldname is absent -->
20  <defaultSearchField>name</defaultSearchField>
21  
22  <!--
SolrQueryParser configuration: defaultOperator="AND|OR" -->
23  <solrQueryParser defaultOperator="OR"/>
24 </schema>

solrconfig.xml我还不是很懂,在这里就不讲了,但是必须配置(好像是必须配):

01 <?xml version="1.0" encoding="UTF-8" ?>
02 <!--
可以从core文件中copy过来 -->
03 <config>
04   <luceneMatchVersion>LUCENE_40</luceneMatchVersion>
05    
06   <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
07  
08   <dataDir>${solr.solrtest.data.dir:}</dataDir>  
solr.solrtest.data.dir存放的是索引目录
09  
10   <updateHandler class="solr.DirectUpdateHandler2">
11     <updateLog>
12       <str name="dir">${solr.solrtest.data.dir:}</str>
13     </updateLog>
14   </updateHandler>
15  
16   <requestHandler name="/get" class="solr.RealTimeGetHandler">
17     <lst name="defaults">
18       <str name="omitHeader">true</str>
19     </lst>
20   </requestHandler>
21    
22   <requestHandler name="/replication" class="solr.ReplicationHandler" startup="lazy" />
23  
24   <requestDispatcher handleSelect="true" >
25     <requestParsers enableRemoteStreaming="false" multipartUploadLimitInKB="2048" />
26   </requestDispatcher>
27    
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" />
32  
33   <requestHandler name="/admin/ping" class="solr.PingRequestHandler">
34     <lst name="invariants">
35       <str name="q">solrpingquery</str>
36     </lst>
37     <lst name="defaults">
38       <str name="echoParams">all</str>
39     </lst>
40   </requestHandler>
41  
42   <!--
config for the admin interface -->
43   <admin>
44     <defaultQuery>solr</defaultQuery>
45   </admin>
46  
47 </config>

之后在exampledocs目录下手动创建一个solr1.xml文件:

1 <?xml version="1.0" ?>
2 <add>
3   <doc>
4     <field name="id">solr1</field>
5     <field name="type">type1</field>
6     <field name="name">my
solr test</
field>
7   </doc>
8 </add>

跟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查询,右侧生成了地址可以打开查看,到此结束。

Solr 4.0 基础教程的更多相关文章

  1. Android程序开发0基础教程(一)

    程序猿学英语就上视觉英语网 Android程序开发0基础教程(一)   平台简单介绍   令人激动的Google手机操作系统平台-Android在2007年11月13日正式公布了,这是一个开放源码的操 ...

  2. ThinkPHP 6.0 基础教程 - 安装

    ThinkPHP6.0 的环境: PHP >= 7.1.0 我本地环境: Win10 PhpStudy 安装 PhpStudy 如果你已经安装 PhpStudy 或其他环境,请忽略这里 安装方法 ...

  3. Zabbix3.0基础教程之一:系统监控,zabbix安装与基本配置

    一.安装环境: 系统环境: 系统版本:CentOS Linux release 7.4.1708 (Core) 内核版本:3.10.0-693.el7.x86_64 关闭Firewall与SELinu ...

  4. SpringBoot2.0基础案例(01):环境搭建和RestFul风格接口

    一.SpringBoot 框架的特点 1.SpringBoot2.0 特点 1)SpringBoot继承了Spring优秀的基因,上手难度小 2)简化配置,提供各种默认配置来简化项目配置 3)内嵌式容 ...

  5. Solr 4.0 部署实例教程

    Solr 4.0 部署实例教程 Solr 4.0的入门基础教程,先说一点部署之后肯定会有人用solrj,solr 4.0好像添加了不少东西,其中CommonsHttpSolrServer这个类改名为H ...

  6. Python 0基础开发游戏:打地鼠(详细教程)VS code版本

    如果你没有任何编程经验,而且想尝试一下学习编程开发,这个系列教程一定适合你,它将带你学习最基本的Python语法,并让你掌握小游戏的开发技巧.你所需要的,就是付出一些时间和耐心来尝试这些代码和操作. ...

  7. SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)

    1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集 ...

  8. SpringCloud2.0 Feign 服务发现 基础教程(五)

    1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...

  9. SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)

    1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...

  10. SpringCloud2.0 Ribbon 服务发现 基础教程(四)

    1.启动[服务中心]集群,即 Eureka Server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集群,即 Eureka Cli ...

随机推荐

  1. 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 ...

  2. MRO, mixin的解读

    本文试着将python中类继承中方法解析顺序MRO(method resolution order)和mixin梳理清楚 先MARK 类的继承中,super()的使用还是蛮多讲究的,因为看pytorc ...

  3. 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明)

    十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) @ 目录 十,Spring Boot 的内容协商的详细剖析(附+Debug调试说明) 1. 基本介绍 2. 准备工作 3. ...

  4. AtCoder Regular Contest 182(A B C)

    原来第二题比第一题简单吗 A.Chmax Rush! \(\texttt{Diff 1110}\) 给定三个序列 \(S,P,V\),其中 \(S\) 的长度为 \(N\),\(P,V\) 的长度为 ...

  5. VMware Vsphere 8.0 ESXI 主机部署

    一. VMware vSphere 8.0新特性 VMware vSphere 8.0是一个全新的版本,引入了许多新功能,其中最主要的新功能包括 1.集中式云控制台 使 IT 管理员能够借助 vSph ...

  6. go中能比较和不能比较的数据类型

    在 Go 语言中,比较操作符(== 和 !=)可以用于许多数据类型,但也有一些数据类型不支持直接比较.下面详细解释哪些数据类型可以比较,哪些不能比较,以及相关的规则和原因. 可以比较的数据类型 布尔型 ...

  7. 2024年5月中国数据库排行榜:OP持续领跑,GoldenDB稳步上升进前八

    入夏时节,2024年5月的中国流行度排行榜排行榜如期发布.在这个骄阳似火的季节,各大数据库产品之间的竞争愈发激烈,名次间的细微变动展示了市场的动态和活力.各家厂商不断创新,通过技术升级和性能优化,力求 ...

  8. 墨天轮国产数据库沙龙 | 四维纵横姚延栋 :MatrixDB,All-in-One高性能时序数据库

    分享嘉宾:姚延栋 北京四维纵横数据有限公司创始人.原Greenplum 北京研发中心总经理.Greenplum中国开源社区创始人.PostgreSQL中文社区常委.壹零贰肆数字基金会(非营利组织)联合 ...

  9. kubernetes日志回滚测试

    kubernetes日志回滚测试 操作节点 podName 查询日志的命令 得到结果 初始pod ms-zipkin-deployment-5949c78884-4x5h7 kubectl logs ...

  10. 如何在Windows 11系统中将任意文件(如bat/log等)固定在开始菜单?

    在Windows 11系统中,默认只支持将.exe/文件夹/.zip固定在开始菜单,如果想将其他文件如.bat/.log等文件固定在开始菜单将在右键菜单中找不到选项. 一个更简单的办法: 对任意文件右 ...