solr搜索之tomcat运行solr(五)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

准备环境:

 

    apache-tomcat-7.0.77.zip

 

solr-4.10.2.zip

 

    java version:1.7

 

 

下载tomcat:http://tomcat.apache.org/

 

下载solr:http://lucene.apache.org/solr/ or  http://www.apache.org/dyn/closer.cgi/lucene/solr/

 

==============================================================================

 

1、解压tomcat

路径:F:\tomcat\apache-tomcat-7.0.77

2、将solr-4.10.2\example\webapps\solr.war这个war包复制到apache-tomcat-7.0.77\webapps下。(删除apache-tomcat-7.0.77\webapps目录下原有的所有文件),并解压solr.war

wKiom1lkJuHBfEViAAAbiiGx7xA221.png

3、在任意盘符下(我这里用F盘),在F盘下新建一个文件夹:solrhome,solr-4.10.2\example\solr文件夹下的所有文件复制到F:/solrhome(比如:collection1solr.xml,别的可以删除,暂时用不到)该目录下存放的是core相关的文件夹。

wKioL1lkJumS7L4oAAAaVuJLpnQ800.png

4、将solr-4.10.2\example\lib\ext下的所有jar包复制到apache-tomcat-7.0.72\webapps\solr\WEB-INF\lib

 

5、修改apache-tomcat-7.0.77\webapps\solr\WEB-INF下的web.xml文件(放开原先的注释并修改)    

<env-entry>

      <env-entry-name>solr/home</env-entry-name>

      <env-entry-value>F:\solrhome</env-entry-value>

      <env-entry-type>java.lang.String</env-entry-type>

   </env-entry>

6、在apache-tomcat-7.0.77\webapps\solr\WEB-INF下新建一个classes文件夹,并把solr-4.10.2\example\resources下的log4j.properties日志文件复制到这classes文件夹下。

wKiom1lkJvHy2UwIAAAc1crJyEk036.png

7、启动tomcat,访问:localhost:8080/solr

wKioL1lkJwDQA6w5AACvwwQRUfI946.png

1.1    solr中添加core

参考4

1,  进入f:/solrhome目录下,复制collection1文件夹,重命名为:cat

2,  进入/cat目录下,修改:core.properties文件:

wKioL1lkJwuwv-XzAAACQ8h4-H4390.png

3,  进入conf目录下,除solrconfig.xmlschema.xml文件外全部删除;并删除data目录下所有文件

wKiom1lkJxOAP1rmAAAcMKppAro599.png

4,  修改conf目录下的schema.xml配置文件,参考第四章6节的配置。

<?xml version="1.0"encoding="UTF-8" ?>

<schema name="example"version="1.5">

      

  <field name="_version_" type="long"indexed="true" stored="true"/>

  <field name="_root_" type="string"indexed="true" stored="false"/>

      

  <field name="id" type="string"indexed="true" stored="true" required="true"multiValued="false" />

  <field name="title" type="string"indexed="true" stored="true" multiValued="true"/>

       <!—唯一key-->

       <uniqueKey>id</uniqueKey>

 

   <fieldType name="string" class="solr.StrField"sortMissingLast="true" />

   <fieldType name="long" class="solr.TrieLongField"precisionStep="0" positionIncrementGap="0"/>

</schema>

5,  修改solrconfig.xml配置,参考solr搜索之demo和集成IKAnalyzer(二)

(此处省略。。。)

6,  重启tomcat,访问:http://localhost:8080/solr

wKioL1lkJyDjWdCkAAD1Nm2-thQ843.png

1.2    集成IKAnalyzer分词器

参考5

1,IKAnalyzer分词器jar包,放在F:\tomcat\apache-tomcat-7.0.77\webapps\solr\WEB-INF\lib目录下

2,修改F:\solrhome\cat\conf目录下的schema.xml配置文件:

wKioL1lkJ3-yknLcAACDi6JlevE654.png

3,重启tomcat浏览器中访问:localhost:8080/solr, 选择simple-->Analysis,重新上面的操作看效果:

wKioL1lkJ4njEebZAADHAkPYrxY704.png

 

wKiom1lkJ5WDHPz8AADMsiN4ZgA137.png

1.3    mysql导入数据到solr

参考solr搜索之mysql导入数据到solr(四)

1.3.1     配置实现

1,将准备的两个jar包放在F:\tomcat\apache-tomcat-7.0.77\webapps\solr\WEB-INF\lib目录下

wKiom1lkJ6KSFTayAAAIVRGrRgE148.png

2,将准备的data-config.xml文件复制到solrhome\cat\conf目录下,和schema.xml同一目录:

data-config.xml内容:

<dataConfig>

   <dataSource type="JdbcDataSource"driver="com.mysql.jdbc.Driver"

       url="jdbc:mysql://localhost:3306/test" user="root"password="123456"

       batchSize="100" />

   <document>

       <entity name="user" pk="id"

           query="SELECT id,name,sex,title,insert_time,update_time FROMuser"

           deltaImportQuery="SELECT id,name,sex,title,insert_time,update_timeFROM user where id='${dataimporter.delta.id}'"

                     deletedPkQuery="selectid from user where update_time &lt; NOW()"

           deltaQuery="SELECT id FROM user where update_time >'${dataimporter.last_index_time}'">

           <field column="id" name="id" />

           <field column="name" name="name" />

           <field column="sex" name="sex" />

                     <fieldcolumn="title" name="title" />

           <field column="insert_time" name="insertTime"/>

           <field column="update_time" name="updateTime"/>

       </entity>

   </document>

</dataConfig>

wKiom1lkJ62wRYzMAAAq4WcZU8E415.png

3,修改solrhome/cat/conf目录下的solrconfig.xml文件:

<requestHandlername="/dataimport"class="org.apache.solr.handler.dataimport.DataImportHandler">

    <lst name="defaults">

         <strname="config">data-config.xml</str>

    </lst>

  </requestHandler>

wKioL1lkJ7qDB316AAB605lrIMM110.png

注意:上面这样放,是错误的,启动报错!必须放在<config>标签内:

wKioL1lkJ8nBRqpCAADYYKm3pag241.png

4,修改solrhome/cat/conf目录下的schema.xml文件:

<?xmlversion="1.0" encoding="UTF-8" ?>

<schemaname="example" version="1.5">

 

   <field name="_version_"type="long" indexed="true" stored="true"/>

   <field name="_root_"type="string" indexed="true" stored="false"/>

   <field name="id"type="string" indexed="true" stored="true"required="true" multiValued="false" />

   <!-- 指定分词类型-->

   <field name="name"type="text_ik" indexed="true" stored="true" />

   <field name="title"type="text_ik" indexed="true" stored="true"/>

   <field name="sex"type="int" indexed="false" stored="true" />

   <!-- field标签中的name值必须和data-config.xml中的fileld标签name值保持一致 -->

   <field name="insertTime"type="date" indexed="true" stored="true" />

   <field name="updateTime"type="date" indexed="true" stored="true"/>

 

       <uniqueKey>id</uniqueKey>

       <fieldType name="int"class="solr.TrieIntField" precisionStep="0"positionIncrementGap="0"/>

    <fieldType name="string"class="solr.StrField" sortMissingLast="true" />

    <fieldType name="long"class="solr.TrieLongField" precisionStep="0"positionIncrementGap="0"/>

       <fieldType name="date"class="solr.TrieDateField" precisionStep="0"positionIncrementGap="0"/>

       <!-- 添加IKAnalyzer中文分词器 -->

       <fieldType name="text_ik"class="solr.TextField">  

     <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>  

       </fieldType>

 

</schema>

1、  启动tomcat,浏览器访问:locahost:8080/solr 原来的cat中数没有任何数据的。

2、导入数据:

wKiom1lkJ9mAXekaAAEO6krJk-A691.png

7:查看数据:

wKiom1lkJ-jjXiOuAADmfGdOaJs780.png

 

 



本文转自 wyait 51CTO博客,原文链接:xhttp://blog.51cto.com/wyait/1946173xxxxxx,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
7月前
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
76 1
|
7月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
63 0
|
6月前
|
Web App开发 移动开发 Java
基于tomcat运行HTML5 WebSocket echo例子
基于tomcat运行HTML5 WebSocket echo例子
52 2
|
2月前
|
前端开发 Java 应用服务中间件
21张图解析Tomcat运行原理与架构全貌
【10月更文挑战第2天】本文通过21张图详细解析了Tomcat的运行原理与架构。Tomcat作为Java Web开发中最流行的Web服务器之一,其架构设计精妙。文章首先介绍了Tomcat的基本组件:Connector(连接器)负责网络通信,Container(容器)处理业务逻辑。连接器内部包括EndPoint、Processor和Adapter等组件,分别处理通信、协议解析和请求封装。容器采用多级结构(Engine、Host、Context、Wrapper),并通过Mapper组件进行请求路由。文章还探讨了Tomcat的生命周期管理、启动与停止机制,并通过源码分析展示了请求处理流程。
|
4月前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
|
5月前
|
弹性计算 运维 应用服务中间件
容器的优势,在Docker中运行Tomcat
摘要:了解Docker与虚拟机的区别:虚拟机使用Hypervisor创建完整操作系统,而容器通过namespace和cgroup实现轻量级隔离,共享主机内核。Docker启动快、资源利用率高,适合快速部署和跨平台移植。但安全性相对较低。示例介绍了如何通过Docker搜索、拉取官方Tomcat镜像并运行容器,最后验证Tomcat服务的正常运行。
|
5月前
|
应用服务中间件
修改Tomcat路径不变怎么办,点击clear清空,重新运行
修改Tomcat路径不变怎么办,点击clear清空,重新运行
|
7月前
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
51 6
|
7月前
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
46 3
|
XML Java 关系型数据库
15Solr整合tomcat(超详细版本)
15Solr整合tomcat(超详细版本)
47 0