这里忽略solr其他依赖环境的搭建,这里搭建solr5.2.1。使用Java1.7.0_17,tomcat使用6.0.36版本的。


1、下载solr压缩文件

  Solr是Apache基金组织在lucene之上建立的一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。Lucene是一个全文检索引擎工具包,不是一个完整的应用服务器。下载Solr的地址为:http://mirrors.hust.edu.cn/apache/lucene/solr/,这个链接中只有常用的版本和最新的版本,如果需要下载其他版本的solr,请进入链接http://archive.apache.org/dist/lucene/solr/。这里我们下载solr-5.2.1版本的solr。

2、解压solr-5.2.1.tgz,解压后目录为F:\study\solr-5.2.1,下面我将该目录设为${SOLR_HOME}。

3、将${SOLR_HOME}\server\webapps\下的solr.war复制到tomcat的webapps目录下,并启动tomcat,tomcat会自动将war包解压。

4、关闭tomcat,删除solr.war文件,修改solr文件夹名为solr5.2.1(可选)。

5、复制jar包,将${SOLR_HOME}\server\lib\ext目录下的所有jar复制到${TOMCAT_HOME}\webapps\solr5.2.1\WEB-INF\lib目录下。

6、在E盘建立一个文件夹E:\solrhome\5.2.1,设置WEB-INF下的web.xml文件。我们之后将该文件夹设为${SOLR.SOLR.HOME}

  1. <env-entry>
  2. <env-entry-name>solr/home</env-entry-name>
  3. <env-entry-value>E:\solrhome\5.2.1</env-entry-value>
  4. <env-entry-type>java.lang.String</env-entry-type>
  5. </env-entry>

7、复制文件${SOLR_HOME}/server/solr目录下的solr.xml和zoo.cfg两个文件到我们建立的${SOLR.SOLR.HOME}文件夹中。

8、由于Solr5.2.1中的example core位于example文件夹中,是为了使用自带jetty添加的,所以我们就直接创建新的collection。

8、在${SOLR.SOLR.HOME}文件夹中添加一个子目录core0/conf,在conf中创建两个文件,分别为:schemal.xml和solrconfig.xml文件。文件内容如下所示:

  1. <?xml version="1.0" ?>
  2. <schema name="core0" version="1.5">
  3. <fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/>
  4. <fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/>
  5.  
  6. <field name="id" type="string" indexed="true" stored="true" multiValued="false" required="true"/>
  7. <field name="name" type="string" indexed="true" stored="true" multiValued="false" />
  8. <field name="age" type="long" indexed="true" stored="true" multiValued="false" />
  9. <field name="_version_" type="long" indexed="true" stored="true"/>
  10.  
  11. <uniqueKey>id</uniqueKey>
  12.  
  13. <defaultSearchField>name</defaultSearchField>
  14.  
  15. <solrQueryParser defaultOperator="OR"/>
  16. </schema>

schema.xml

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <config>
  3. <luceneMatchVersion>5.2.1</luceneMatchVersion>
  4. <directoryFactory name="DirectoryFactory" class="${solr.directoryFactory:solr.StandardDirectoryFactory}"/>
  5.  
  6. <dataDir>${solr.core0.data.dir:}</dataDir>
  7.  
  8. <schemaFactory class="ClassicIndexSchemaFactory"/>
  9.  
  10. <updateHandler class="solr.DirectUpdateHandler2">
  11. <updateLog>
  12. <str name="dir">${solr.core0.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" formdataUploadLimitInKB="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. <admin>
  43. <defaultQuery>solr</defaultQuery>
  44. </admin>
  45. </config>

solrconfig.xml

9、启动Tomcat,访问http://localhost:8080/solr5.2.1/#/,我们可以看到访问以及成功,现在开始设置我们刚刚创建的core0这个collection。

10、在solr web page中创建新的core。

   

11、插入数据

  插入数据在这里介绍两种方式,第一种通过post.jar来插入数据,第二种通过solr web page来插入数据,我们先采用post.jar插入。

  使用post.jar进行插入数据:

  a) 复制${SOLR_HOME}\example\exampledocs\post.jar到${SOLR.SOLR.HOME}\core0目录下。

  b) 创建一个xml文件或者复制exampledocs文件夹下的ipod_other.xml文件,并进行修改。

  c) 结合我们之前创建的schema.xml文件,我们发现有id,name,age,_version_四个属性,其中_version_由solr自动创建。那么表示我们的xml文件中只能有id,name和age。内容参考如下:

  1. <add>
  2. <doc>
  3. <field name="id">HS-14</field>
  4. <field name="name">Tom</field>
  5. <field name="age">20</field>
  6. </doc>
  7. <doc>
  8. <field name="id">IW-02</field>
  9. <field name="name">Benedict Bill</field>
  10. <field name="age">19</field>
  11. </doc>
  12. <doc>
  13. <field name="id">IW-04</field>
  14. <field name="name">Bernard Bill</field>
  15. <field name="age">23</field>
  16. </doc>
  17. </add>

ipod_other.xml

  d) 进入cmd命令行,移动到目标目录后,执行命令:

  1. java -Durl=http://localhost:8080/solr5.2.1/core0/update -Ddata=files -jar post.jar ipod_other.xml

    

  e) 进入web page查看文档,http://localhost:8080/solr5.2.1/#/~cores/core0,如下图,我们可以看到文档数量在增加。

  使用web page url进行数据的插入:

  a) 进入http://localhost:8080/solr5.2.1/#/core0/documents页面,这里我们采用json数据格式进行数据的插入:

  b) 添加要插入的数据后,截图如下:

  我们可以通过query来查看数据结果:如下:

至此solr5.2.1的tomcat安装完成,在此过程中我遇到的问题,我会标志在下的:

问题一:Can't find: admin-xxx.html

  这个问题在solr5.2.1中我也不知道为什么会存在,不过将${SOLR_HOME}/example/example-DIH/solr/solr/conf目录下将admin-extra.xml、admin-extra.menu-bottom.html和admin-extra.menu-top.html复制到${SOLR.SOLR.HOME}/core2/conf目录下,重新加载core即可。

问题二: null:java.lang.RuntimeException:java.lang.LinkageError

  这个问题在apache-tomcat7.0.56中存在,我将tomcat换成tomcat6以后,就没有出现过了,问题好像是编译有冲突,不过我没找它,可以参考:

https://jira.duraspace.org/browse/DS-2293https://issues.apache.org/jira/browse/SOLR-7060

其他的就没有遇到啥问题啦,这个tomcat安装到此为止。

[solr] - solr5.2.1环境搭建 - 使用tomcat做为容器的更多相关文章

  1. [solr] - solr5.2.1环境搭建 - 使用solr自带的jetty服务器

    solr除了使用tomcat作为容器外,还可以使用其他的常用容器,比如jetty,jboos等,而且solr自身就自带jetty服务器,那么现在就solr自带的jetty服务器进行安装操作.由于sol ...

  2. solr 6.2.1环境搭建

    一:Solr简介 Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口.用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引:也可以通过 ...

  3. solr 6.6 基础环境搭建 (一)

    Apache Solr 介绍 参考博主原文链接1:http://www.cnblogs.com/blueskyli/p/7100443.html 参考博主原文链接2:http://www.cnblog ...

  4. Tomcat + solr5.2.1环境搭建

    1. 下载solr并解压后的目录为:E:\solr-5.2.1   ,  http://lucene.apache.org/solr/downloads.html 2. 将solr部署到Tomcat中 ...

  5. linux下solr5.0.0环境搭建

    1解压 linux下解压命令 tar -zxvf solr-5.0.0.tgz 2启动 linux 系统 直接切换solr-5.0.0\bin 文件夹 执行 solr star -p 8983 (如果 ...

  6. solr5.2.1环境搭建教程

    环境:w8.1 + solr5.2.1 + apache7.0+jdk1.7 解压:solr5.2.1 复制E:\solr-5.2.1\server\webapps 下的solr.war包到D:\ap ...

  7. Linux环境下java开发环境搭建二 tomcat搭建

    第一步:下载安装包并解压 # tar zxvf 压缩包名 第二步:把解压出的文件移动到/usr/local/tomcat7中 #mv 解压出来的文件夹  /usr/local/tomcat7 第三步: ...

  8. dubbo环境搭建与tomcat集成、DEMO示例、常见问题(最完整版本、带管理控制台、监控中心、zookeeper)

    以windows为例,linux基本相同,开发环境一般linux,个人环境一般windows(如果不开额外vm的话). 示例以dubbo官方自带demo为例子,进行整合和稍加修改测试. 0.dubbo ...

  9. 1.环境搭建-mysql+tomcat+myeclipse安装并配置

    一.安装mysql数据库并配置 下载地址:https://pan.baidu.com/s/1OJ3ggda7Cthl4GCxWKbTng 密码:sd6b 1.打开安装程序

随机推荐

  1. iOS8 UISearchViewController搜索功能讲解 分类: ios技术 2015-07-14 10:23 76人阅读 评论(0) 收藏

    在iOS8以前我们实现搜索功能需要用到UISearchbar和UISearchDisplayController, 在iOS8之后呢, UISearchController配合UITableView的 ...

  2. linux 更换yum源

    1.进入存放源配置的文件夹 cd /etc/yum.repos.d 2.备份默认源 mv ./CentOS-Base.repo ./CentOS-Base.repo.bak 3.使用wget下载163 ...

  3. 【noip】华容道

    描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...

  4. MongoDB和MySQL的区别

    http://www.cnblogs.com/caihuafeng/p/5494336.html MongoDB(文档型数据库):提供可扩展的高性能数据存储 一. 1.基于分布式文件存储 2.高负载情 ...

  5. 使用React Native来撰写跨平台的App

    React Native 是一个 JavaScript 的框架,用来撰写实时的.可原生呈现 iOS 和 Android 的应用.其是基于 React的,而 React 是 Facebook 的用于构建 ...

  6. scala系列--基础语法

    Scala 与 Java 的最大区别是:Scala 语句末尾的分号 ; 是可选的. 区分大小写 -  Scala是大小写敏感的,这意味着标识Hello 和 hello在Scala中会有不同的含义. 类 ...

  7. iOS 之 网络 NSURLSession

    NSURLSession相比NSURLConnection功能更强大,是更上层的网络封装.相比而言,普通应用场景下NSURLSession没有什么优势,但是,在程序切换到后台的情况下,NSURLSes ...

  8. IOS设计模式--代理 (委托)

    原文 http://blog.csdn.net/lovefqing/article/details/8270111 委托(delegate)也叫代理是iOS开发中常用的设计模式.我们借助于protoc ...

  9. 解压文件--linux

    linux下不同的文件格式用不同的命令解压. 对于tar.gz文件,用以下命令. .tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileNa ...

  10. 转:找不到include xgpio.h;Unresolved include xgpio.h

    这个文档讲解的是在SDK下出现的问题,如果在ISE下编译是有错的,不能正常进入SDK,那这篇文档不适合你. 问题是这样的.根据教程<XILINX FPGA Verilog编程大全>做SOC ...