文档章节

solr6.6+jetty+centos+mysql

太黑_thj
 太黑_thj
发布于 2017/07/25 12:06
字数 1256
阅读 13
收藏 0
点赞 0
评论 0

安装步骤(solr6.6+jetty+centos+mysql)

(使用solr内带的jetty作为服务器)

1.下载solr:http://www.apache.org/dyn/closer.lua/lucene/solr/6.6.0

2.丢到服务器上去   用命令解压   比如我最后解压的路径是

/data/solr/solr-6.6.0

3.进入到安装的根目录  cd /data/solr/solr-6.6.0(以下的所有操作都是基于这个文件夹的)

4.启动   bin/solr start (为solr分配了专用账号的情况下用这个命令启动)

bin/solr start -force(如果没有为solr分配账号得加上后面的-force强制启动)

5.默认占用8983端口

那么访问的地址就是   ip:8983

 eg:   http://192.168.1.1:8983

小结:

看网上的教程到这边基本都是没问题的,而且也基本到启动完就没了,我最想要的mysql数据导入却没有,哎肾伤;

如何创建一个core

方法一(基本没用的,做研究的同学可以看,如果只是用请直接看方法二)

1.先用命令创建   bin/solr create -c <core的名字>  这个名字你自己随便喜欢什么就取什么吧

2.接着将命令执行下去 bin/post -c <core的名字> example/exampledocs/*.xml(这句的用意是将内带的例子拷贝过来看看)

3.到页面刷新一下就可以看到你自己命名的core了

方法二(创建一个能导入mysql数据的core)

1.先将solr-6.6.0/server/solr/configsets/data_driven_schema_configs这个文件夹考本出来到本地

2.将上面拷贝出来的文件夹放到solr-6.6.0/server/solr   (自己重命名下文件夹,看你喜欢叫什么名称,比如我的叫thj_solr_core)

3.到页面去用add core的功能添加你刚才拷贝过去的文件夹

(到这边一个可以用来导入mysql数据的core就算是创建完成了)

4.添加mysql驱动(我这边用的是mysql-connector-java-5.1.42.jar)直接把这个mysql的jar包放到solr-6.6.0/dist这个文件夹内就可以了

5.配置数据

5.1 添加依赖在solr-6.6.0/server/solr/thj_solr_core/conf/solrconfig.xml这个文件添加两行依赖

添加到<config></config>这个标签中间

 <lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-5.1.42.jar" />
  <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-6.6.0.jar" />

5.2 重启solr(加载新依赖)

bin/solr restart  

5.3 配置mysql

5.3.1 比如我有个mysql的数据库名为thj_db

在thj_db这个库里有个表名为food_t

在food_t这个表里有四个字段  ft_id ,ft_name ,ft_mome, ft_updateTime

5.3.2 在solr-6.6.0/server/solr/thj_solr_core/conf文件夹内创建一个data-config.xml

内容如下(主键的name一定要用id)

<?xml version="1.0" encoding="UTF-8"?>  
<dataConfig>  
    <dataSource name="source1" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/thj_db" user="root" password="root" batchSize="-1" />  
  <document>  
        <!--deltaImportQuery 里面引用id要和entity的pk属性一样才能生效-->
        <entity name="food_t" pk="ft_id"  dataSource="source1"   
                query="select * from  food_t"  
                deltaImportQuery="select * from food_twhere ft_id='${dataimporter.delta.ft_id}'"  
                deltaQuery="select lha_id from food_t where ft_updateTime> '${dataimporter.last_index_time}'">  
  
       
	<field column="ft_id" name="id" /><!-- 主键的name必须用id -->
    <!--一个数据库字段可以映射多个name,对应的在schema文件也加上去就可以了-->
    <!--<field column="ft_id" name="ft_id" />-->
	<field column="ft_name" name="name"  />
	<field column="ft_memo" name="memo"  />
	<field column="ft_updateTime" name="updateTime"  />
	
     </entity>  
  </document>  
</dataConfig> 

5.3.3继续修改solr-6.6.0/server/solr/thj_solr_core/conf/solrconfig.xml

5.3.3.1 定位到   <requestHandler name="/select" class="solr.SearchHandler">

5.3.3.2 在这行上面添加数据配置

 <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">  
      <lst name="defaults">  
         <str name="config">data-config.xml</str>  
      </lst>  
 </requestHandler>
 <!--  在这行上面添加数据配置  -->
  <requestHandler name="/select" class="solr.SearchHandler">

5.3.4 修改solr-6.6.0/server/solr/thj_solr_core/conf/managed-schema

5.3.4.1 先定位到<schema name="example-data-driven-schema" version="1.6">

由于这个是拷贝出来,所以这边的那么得换一下,换成表名替换完效果如下

<schema name="food_t" version="1.6">

5.3.4.2 继续定位到  <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />

在这行的下面添加field

<!-- 这个也是默认的,勿动,默认对应你的主键 (我修改了几次发现都不能用)--> 
<field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
<!--  在这里开始添加你的字段 主键不需要添加  field 标签的的属性名称是什么意思就自己去百度吧-->
<!-- field里面的name属性对应的是咱们在data-config.xml里面设置的name-->
    <field name="name"  type="string" indexed="true" stored="true" />
	<field name="memo" type="string" indexed="true" stored="true" />
	<field name="updateTime" type="string" indexed="true" stored="true" />
<!-- 下面的这些事默认的,勿动 -->
    <!-- doc values are enabled by default for primitive types such as long so we don't index the version field  -->
    <field name="_version_" type="long" indexed="false" stored="false"/>
    <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
    <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>

5.4重启solr(不重启好像也能用)

bin/solr restart  

5.5到页面

注意:

一定要看清楚data-config.xml和managed-schema这两个文件的修改细节

不然到时候你就会纳闷为什么配置看上去都是一样对的,怎麼数据就是过不来呢,反正我是卡了两天才发现

© 著作权归作者所有

共有 人打赏支持
太黑_thj
粉丝 13
博文 110
码字总数 55382
作品 0
福州
程序员

暂无文章

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
1
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
13
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
2
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
2
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
1
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
3
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部