Solr4.7.0连接MySQL
1.把Mysql的Jar包 例如:mysql-connector-java-5.1.8-bin.jar 或其他版本
放到D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\lib下
2.然后在tomcat-solr\collection1\conf下新建一个配置文件:data-config.xml,然后在本目录下编辑配置文件:solrconfig.xml
找到很多个requestHandler节点,在最下面增加:
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">data-config.xml</str>
</lst>
</requestHandler>
或
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">D:\apache-tomcat-7.0.57\webapps\solr\solr_home\collection1\conf\data-config.xml</str>
</lst>
</requestHandler>
3. 将初次下载的solr-4.10.2文件夹下的dist, contrib文件夹复制到TomCat根目录下:
4.然后再次修改刚才编辑过的solrconfig.xml增加两个文件夹的配置并修改一些参数:
大约在75行默认有8个路径,但是路径不一定全对,顺着这个配置的路径去找文件夹,根据查找的层数修改这个路径配置,另增加一个新的配置,全文如下:(具体配置还要根据实际情况而定)
<lib dir="D:\apache-tomcat\contrib\extraction\lib" regex=".*\.jar" /> <lib dir="D:\apache-tomcat\dist\" regex="solr-cell-\d.*\.jar" /> <lib dir="D:\apache-tomcat\contrib\clustering\lib\" regex=".*\.jar" /> <lib dir="D:\apache-tomcat\dist\" regex="solr-clustering-\d.*\.jar" /> <lib dir="D:\apache-tomcat\contrib\langid\lib\" regex=".*\.jar" /> <lib dir="D:\apache-tomcat\dist\" regex="solr-langid-\d.*\.jar" /> <lib dir="D:\apache-tomcat\contrib\velocity\lib" regex=".*\.jar" /> <lib dir="D:\apache-tomcat\dist\" regex="solr-velocity-\d.*\.jar" /> <lib dir="D:\apache-tomcat\dist\" regex="solr-dataimporthandler-\d.*\.jar" />
5. 将dist文件夹下的
复制到webapps\solr\WEB-INF\lib下。
6.编辑data-config.xml,例如
<!-- db导入solr配置文件 -->
<dataConfig>
<dataSource driver="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/数据库名"
user="root" password="000000"/>
<document>
<entity name="sysDictionary" pk="ID" query="SELECT
'SSR_DICTIONARY' AS type,
CONCAT('SSR_DICTIONARY_',DIC_ID) AS indexId,
DIC_ID AS dicId,
DIC_NAME AS dicName,
DIC_VALUE AS dicValue,
DIC_GROUP AS dicGroup,
DIC_TYPE AS dicType,
DIC_ORDER AS dicOrder,
DIC_STATUS AS dicStatus,
DIC_PARENT_ID AS dicParentId
FROM SYS_DICTIONARY"/>
<entity name="appPerson" pk="ID" query="SELECT
'SSR_DICTIONARY' AS type,
CONCAT('SSR_APPPERSON_',P_ID) AS indexId,
P_ID AS pkid,
P_NAME AS pname,
P_MOBILE AS pmobile,
P_TYPE AS ptype,
P_CREATETIME AS pcreatetime,
P_NOTE AS pnote,
P_STATUS AS pstatus,
P_ORG AS porg,
DIC_GROUP AS dicGroup
FROM APP_PERSON"/>
</document>
</dataConfig>
query是获取全部数据的SQL(solr从sql中获取那些数据),多列
还可以配置
deltaImportQuery是获取增量数据时使用的SQL(数据库新增数据追加到solr的数据),多列 (提示:最后索引时间与数据库字段(创建时间比较)) 可以试着配置一下
7.编辑schema.xml文件 例如:
<field name="indexId" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="type" type="string" indexed="true" stored="true" required="true" multiValued="false"/>
<field name="indexTime" type="tdate" default="NOW/SECOND"/> <!-- APPPERSON FIELD -->
<field name="pkid" type="string" indexed="true" stored="true"/>
<field name="pname" type="string" indexed="true" stored="true"/>
<field name="pmobile" type="string" indexed="true" stored="true"/>
<field name="ptype" type="int" indexed="true" stored="true"/>
<field name="pcreatetime" type="tdate" indexed="true" stored="true"/>
<field name="pnote" type="text_ik" indexed="true" stored="true"/>
<field name="pstatus" type="int" indexed="true" stored="true"/>
<field name="porg" type="string" indexed="true" stored="true"/> <!-- SYSDICTIONARY FIELD -->
<field name="dicId" type="string" indexed="true" stored="true"/>
<field name="dicName" type="string" indexed="true" stored="true"/>
<field name="dicValue" type="text_ik" indexed="true" stored="true"/>
<field name="dicGroup" type="string" indexed="true" stored="true"/>
<field name="dicType" type="string" indexed="true" stored="true"/>
<field name="dicOrder" type="int" indexed="false" stored="true"/>
<field name="dicStatus" type="string" indexed="true" stored="true"/>
<field name="dicParentId" type="string" indexed="true" stored="true"/>
这样配置就算是完成了
Solr4.7.0连接MySQL的更多相关文章
- VB6.0连接MySQL数据库
VB6.0连接MySQL数据库
- django2.0+连接mysql数据库迁移时候报错
django2.0+连接mysql数据库迁移时候报错 情况一 错误信息 django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 ...
- vc6.0连接mysql数据库
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本.. 二.VC6.0的设置 (1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
- VC++6.0连接MySQL数据库(MySQL API)
一.MySQL的安装 Mysql的安装去官网下载就可以...最新的是5.7版本..二.VC6.0的设置(1)打开VC6.中选0 工具栏Tools菜单下的Options选项,在Directories ...
- asp.net core2.0 连接mysql和mssql
转自:https://www.jianshu.com/p/15a557ac43d9 1.连接mysql 第一步,新建asp.net core项目 新建项目 本例程作简单演示两种数据库的连接,为简便 ...
- Solr4.7.0连接Oracle
1.把Oracle的Jar包 例如:ojdbc14.jar 或其他版本 放到D:\apache-tomcat-7.0.57\webapps\solr\WEB-INF\lib下 2.然后在tomca ...
- Solr4.7.0连接PostgreSQL
1.把PostgreSQL的Jar包 例如:postgresql-9.1-901-1.jdbc4.jar 或其他版本 放到D:\apache-tomcat-7.0.57\webapps\solr\ ...
- DotNetCore跨平台~EFCore2.0连接Mysql的烦恼-已解决
回到目录 对于传统的nuget包,我们习惯上用官方或者大型组织的,因为它们比较考靠谱,但就在前两天.net core2.0发布后,我把efcore也升级到2.0了,mysql.EfCore也升级到支持 ...
- Java spring boot 2.0连接mysql异常:The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone
解决办法:application.yml提示信息表明数据库驱动com.mysql.jdbc.Driver'已经被弃用了.应当使用新的驱动com.mysql.cj.jdbc.Driver' com.my ...
随机推荐
- less语法
Linux中的less命令主要用来浏览文件内容,与more命令的用法相似,不同于more命令的是,less命令可往回卷动浏览以看过的部分,下面随小编一起来了解下less命令的具体用法吧. less 的 ...
- snap7和plc的IP设置问题
设备ip必须在同一个网段,才能ping到 相关ip的链接https://blog.csdn.net/bytxl/article/details/41897287 在调试plc与树莓派的过程中,犯了一个 ...
- JS的call与apply的用法
call与apply的第一个参数都是需要调用的函数对象,在函数体内这个参数就是this的值,剩余的参数是需要传递给函数的值,call与apply的不同就是call传的值可以是任意的,而apply传的剩 ...
- [C# 基础知识系列]专题三:如何用委托包装多个方法——委托链 (转载)
引言: 上一专题介绍了下编译器是如何来翻译委托的,从中间语言的角度去看委托,希望可以帮助大家进一步的理解委托,然而之前的介绍都是委托只是封装一个方法,那委托能不能封装多个方法呢?因为生活中经常会听到, ...
- 震惊!!!源程序特征统计程序——基于python getopt库
项目github地址:https://github.com/holidaysss/WC PSP2.1 Personal Software Process Stages 预估耗时(分钟) 实际耗时(分钟 ...
- Deepest left leaf node in a binary tree
Recursion selfcontained recursion global variables outside of recursion Recursion Design Whenever r ...
- xPath 用法总结整理
xPath 用法总结整理 一.xpath介绍 XPath 是一门在 XML 文档中查找信息的语言.XPath 用于在 XML 文档中通过元素和属性进行导航. XPath 使用路径表达式在 XML ...
- TNS-12560,TNS-00583: Valid node checking: unable to parse configuration parameters
测试环境11.2.0.4.0, os系统linux 5.6 单实例,监听文件,启动报错: [oracle@adg1 admin]$ lsnrctl start LSNRCTL for Linux: V ...
- 利用iftop找出是谁占用了带宽
第一步:安装EPEL源 yum install epel-release 第二部:安装iftop yum install iftop 然后用iftop命令即可查看相关信息 ift ...
- 我的代码-unsupervised learning
# coding: utf-8 # In[1]: import pandas as pdimport numpy as npfrom sklearn import treefrom sklearn.s ...

