隐藏

solr连接sqlserver数据库并导入数据

发布:2019/11/12 8:56:18作者:管理员 来源:本站 浏览次数:1054

新建的core文件夹下conf\solrconfig.xml中加代码

<config>
<!--config是上级节点-->
    <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
    <lst name="defaults">
    <str name="config">data-config.xml</str>
    </lst>
    </requestHandler>
</config>

    1
    2
    3
    4
    5
    6
    7
    8

conf文件夹下新建data-config.xml文件,里面填以下代码

<?xml version="1.0" encoding="UTF-8"?>
<dataConfig>
    <!--<dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:jtds:sqlserver://192.168.16.72" user="sa" password="123" batchSize="-1" />-->
    <dataSource driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://192.168.16.72;DatabaseName=bzdbff" user="sa" password="123" />
<document>
        <entity name="example" transformer="RegexTransformer" query="select ID ,A001,A100,A205 from dbo.AATCC_N">
             <!--column的id是数据库的id,name的id是managed_schema里面的id,id是必须,并且唯一的-->
            <field column="ID" name="ID" />
             <!--column的vip是数据库的vip字段,name的vip是managed_schema里面的vip,下面配置同理-->
            <field column="A001" name="A001" />
            <field column="A100" name="A100" />
            <field column="A205" name="A205" />
            <field column="A298" name="A298" />
        </entity>
    </document>
</dataConfig>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16

Tomcat 8.5\webapps\solr\WEB-INF\lib文件夹下添加jdbc的jar包,我这用的是sqlserver的sqlserverjdbc.jar
conf文件夹下的managed-schema文件中添加列,id列已有不需添加如下

<!--这里无需定义id,因为managed_schema文件已经在前面开头位置定义了,id是必须,并且唯一的-->
    <field name="a100" type="string" indexed="true"  stored="true" />
    <field name="a001" type="string" indexed="true" stored="true" />
    <field name="a205" type="string" indexed="true" stored="true"/>
    <field name="a298" type="string" indexed="true" stored="true"/>

   
回到solr操作界面,按如下所示操作


数据导入
全局查询一下试试
在这里插入图片描述