1,配置准备

本文的前提是你已经配置好了solr,并新创建了一个core,我们下面都会按照前一篇文章中的core_demo为基础开始

2,修改soreconfig.xml

在soreconfig.xml的<requestHandler name="/select" class="solr.SearchHandler">上面添加如下代码:

    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
   <lst name="defaults">
   <str name="config">data-config.xml</str>
   </lst>
  </requestHandler>

注意:需要确认文件中不存在其他的dataimport,如果存在直接替换即可

在同级目录下创建data-config.xml文件,然后配置数据库相关属性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8"?> 
<dataConfig>
    <dataSource name="source1" type="JdbcDataSource"
              driver="com.mysql.jdbc.Driver"
              url="jdbc:mysql://127.0.0.1:5432/address"
              user="root"
              password="123456" />
    <document>
        <entity name="company" dataSource="source1" pk="id" query="SELECT company.name,company.id,company.address FROM company">
            <field column='name' name='name' />
            <field column='id' name='id' />
                                  <field column='address' name='address' />
        </entity>
    </document>
</dataConfig>

  关于详细的配置请参照:http://blog.csdn.net/boolbo/article/details/50352331

   官方wiki:https://cwiki.apache.org/confluence/display/solr/

3,配置managed-schema.xml

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

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

   <field name="billid" type="int" indexed="true" stored="false"/>
<field name="name" type="string" indexed="true" stored="true"/>
<field name="address" type="string" indexed="true" stored="true"/>
<field name="cityname" type="string" indexed="true" stored="true"/>
<field name="createtime" type="date" indexed="true" stored="true"/> <field name="_version_" type="long" indexed="false" stored="false"/>
<field name="text" type="string" indexed="true" stored="false" multiValued="true"/>
<field name="_root_" type="string" indexed="true" stored="false" docValues="false" /> <uniqueKey>billid</uniqueKey> <fieldType name="string" class="solr.StrField" sortMissingLast="true" />
<fieldType name="int" class="solr.TrieIntField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" docValues="true" precisionStep="0" positionIncrementGap="0"/>
<fieldType name="date" class="solr.TrieDateField" docValues="true" precisionStep="0" positionIncrementGap="0"/> </schema>

网上很多教程说到schema.xml,这个文件是solr之前的版本中用到的,6.6版本是不需要的,直接修改上面的文件就可以。

4,拷贝jar

拷贝solr-6.6.3\dist路径下的solr-dataimporthandler-6.6.3.jar,solr-dataimporthandler-extras-6.6.3.jar 到E:\tomcat-8.5.28\webapps\solr\WEB-INF\lib目录下

同时拷贝postgresql-42.2.5.jar链接jar到该目录下

不需要修改任何配置文件即可,继续下面的步骤

5,修改jar配置路径(如果没有的话)

继续打开solrconfig.xml 找到lib标签,修改jar的路径,下面贴上我本地修改后的路径

<lib dir="${solr.install.dir:../../../..}/contrib/extraction/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-cell-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/clustering/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-clustering-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/langid/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-langid-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/ltr/lib/" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-ltr-\d.*\.jar" />

<lib dir="${solr.install.dir:../../../..}/contrib/velocity/lib" regex=".*\.jar" />
<lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-velocity-\d.*\.jar" />

不需要添加任何jar即可

6,重启tomcat,刷新solr页面即可看到下面界面

full-import 全量导入,delta-import-增量导入

点击Execute就可以导入了,点击左侧Query可查询导入的数据

Solr——从postgresql数据库导入数据的更多相关文章

  1. Sqlserver 2005 跨数据库 导入数据

    --Sqlserver 2005 跨数据库 导入数据:--SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/O ...

  2. Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引

    Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...

  3. postgresql数据库的数据导出

    一.pg_dump的用法:数据库的导入导出是最常用的功能之一,每种数据库都提供有这方面的工具,例如Oracle的exp/imp,Informix的dbexp/dbimp,MySQL的mysqldump ...

  4. solr8.0 从数据库导入数据(三)

    第一步:导入相关包: 在创建的核心目录下新建lib文件夹(如果有,无需建立),从Solr源码包的dist文件夹中导入两个solr-dataimporthandler包,以及一个mysql驱动包. 第二 ...

  5. odoo开发笔记 -- odoo和postgresql数据库导入相关

    odoo数据库 导入.导出 首先odoo框架下postgresql数据库中,表结构的存储方式: 存在id(小写),并没有所谓的外部ID 例如数据库中的国家表:模块名_tb_country   (注意: ...

  6. MYSQL数据库导入数据时出现乱码的解决办法

    我的一个网站在负载搞不定的情况下最终选择了数据库和程序分离的方式解决的高负载,但是再导入数据的时候出现了大量乱码,最终通过方法二解决掉导入数据的问题,后面再设计网站布局的时候数据库跟网站程序分离是个很 ...

  7. 记录一次向TiDB数据库导入数据的例子

    导出数据 今天从Mysql的某个库中导出一个表大概有20分钟吧,等了一会终于导出成功了.查看一下文件的大小: [tidb@:vg_adn_CkhsTest ~]$du -h ./creative_ou ...

  8. 在C#应用程序中,利用表值参数过滤重复,批量向数据库导入数据,并且返回重复数据

    在很多情况下,应用程序都需要实现excel数据导入功能,数据如果只有几十条,或上百条,甚至上千条,速度还好. 但是不仅如此,如果客户提供给你的excel本身存在着重复数据,或是excel中的某些数据已 ...

  9. Solr安装步骤 + dataimport导入数据配置

    一:安装solr服务器 1.导入安装包到 /usr/local/solr/singleSolr目录下 解压tomat命令:tar -zxvf apache-tomcat-7.0.47.tar.gz 解 ...

随机推荐

  1. [转]MyBatis中resultType与resultMap区别

    MyBatis中关于resultType和resultMap的具体区别如下: MyBatis中在查询进行select映射的时候,返回类型可以用resultType,也可以用resultMap.resu ...

  2. struts配置result类型为json后导致页面不能访问的错误

    错误提示为: Caused by: There is no result type defined for type 'json' mapped with name 'success'.  Did y ...

  3. $("#form1"). serialize()提交表单

    一.jQuery ajax()使用serialize()提交form数据 jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直 ...

  4. MAC JDK默认安装路径 JAVA路径

    打开终端,执行     /usr/libexec/java_home -V 默认JDK1.6(Apple自带JDK)路径:   /System/Library/Java/JavaVirtualMach ...

  5. 批处理手动设置电脑的ip

    参考: http://blog.csdn.net/jiangzhanchang/article/details/7063152 http://wenda.haosou.com/q/1378697364 ...

  6. VGA原理

    VGA原理 1.VGA时序 2.不同的显示标准,有不同的水平段和垂直段 3.像素时钟和帧频的关系 联系目前调试的1080i 50Hz: 像素时钟为148.5MHz, 水平段周期 = 2640 X (1 ...

  7. 打开RAD Studio XE5提示"displayNotification:内存不够"解决办法

    操作方法: 在RAD Studio XE5快捷方式上鼠标右击选择属性,在弹出的快捷方式标签页中将目标(T):"C:\Program Files (x86)\Embarcadero\RAD S ...

  8. Ubuntu 下Android Studio基本配置

    一.界面设置(主题设置) 默认的 Android Studio 为灰色界面,可以选择使用炫酷的黑色界面.Settings --> Appearance --> Theme ,选择 Darc ...

  9. 服务容错保护断路器Hystrix之一:入门示例介绍(springcloud引入Hystrix的两种方式)

    限流知识<高可用服务设计之二:Rate limiting 限流与降级> 在微服务架构中,我们将系统拆分成了一个个的服务单元,各单元间通过服务注册与订阅的方式互相依赖.由于每个单元都在不同的 ...

  10. Python pip源处理

    pypi 镜像使用帮助 pypi 镜像每 5 分钟同步一次. 临时使用 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple some-pac ...