solr搜索之tomcat运行solr(五)

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

准备环境:

 

    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
相关文章
|
2月前
|
负载均衡 安全 前端开发
百度搜索:蓝易云【Nginx与Tomcat负载均衡-动静分离教程】
这些是将Nginx与Tomcat结合使用实现负载均衡和动静分离的基本步骤。根据您的需求和具体环境,可能还需要进行其他配置和调整。请确保在进行任何与网络连接和安全相关的操作之前,详细了解您的网络环境和安全需求,并采取适当的安全措施。
55 1
|
2月前
|
负载均衡 应用服务中间件 nginx
百度搜索:蓝易云【Nginx和tomcat实现负载均衡教程】
至此,你已经成功地使用Nginx和Tomcat实现了负载均衡。Nginx将根据配置的负载均衡策略将客户端请求分发到多个Tomcat服务器上,以提高系统的性能和可用性。请注意,在实际生产环境中,还需要进行其他配置和优化,如健康检查、会话保持等,以满足具体的需求。
43 0
|
26天前
|
Web App开发 移动开发 Java
基于tomcat运行HTML5 WebSocket echo例子
基于tomcat运行HTML5 WebSocket echo例子
23 2
|
2月前
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
23 6
|
2月前
|
运维 Java 应用服务中间件
Tomcat详解(六)——Tomcat运行模式调优
Tomcat详解(六)——Tomcat运行模式调优
16 3
|
9月前
|
XML Java 关系型数据库
15Solr整合tomcat(超详细版本)
15Solr整合tomcat(超详细版本)
20 0
|
2月前
|
缓存 负载均衡 应用服务中间件
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
在本章内容中,我们将深入探讨 Tomcat 服务器的运行架构、LVS 负载均衡的运行机制以及 Cache 缓存机制,并提供相应的解决方案和指导。通过理解这些关键概念和机制,您将能够优化您的系统架构,提高性能和可扩展性。
226 4
【分布式技术专题】「分析Web服务器架构」Tomcat服务器的运行架构和LVS负载均衡的运行机制(修订版)
|
2月前
1分钟入门angular动画效果animations,敲简单滴哟~~
1分钟入门angular动画效果animations,敲简单滴哟~~
1分钟入门angular动画效果animations,敲简单滴哟~~
|
2月前
|
Java 应用服务中间件 Linux
Tomcat运行中的那些问题
Tomcat运行中的那些问题
29 0
|
9月前
|
缓存 Java 应用服务中间件
百度搜索:蓝易云【Tomcat 部署及优化详细教程!】
以上是Tomcat部署和优化的一些基本步骤和建议。请注意,在实际应用中,根据具体需求和环境,可能需要采取其他措施来进一步优化Tomcat的性能和安全性。建议参考Tomcat官方文档和相关资源,以获得更详细的信息和最佳实践。
77 4