solr dih mysql 注意事项

1、当import大数据时,记住设置 batchSize="-1"。

<dataSource name="sourcename" driver="com.mysql.jdbc.Driver" batchSize="-1" url="jdbc:mysql://localhost/dbname?useUnicode=yes&amp;char
acterEncoding=UTF-8" user="username" password="password" />

2、最好将mysql所有涉及编码的地方都设置为UTF8。

3、将solrconfig.xml 中的autoCommit打开,默认未必是打开的。

4、多表联合的时候注意列名的覆盖问题,比如主表有一个外键user字段是users表的主键,若想引用users表中的name,则不可再使用user。

5、在solr默认的测试环境中,batchSize、autoCommit等参数均无效,需要将solr部署到tomcat下

 

附完整的db-data-configure.xml

<dataConfig>
    <dataSource name="sourcename" driver="com.mysql.jdbc.Driver" batchSize="-1" autoCommit="true" url="jdbc:mysql://localhost/weibo?useUnicode=yes&amp;characterEncoding=UTF-8" user="user" password="passwd" />
    <document>
        <entity name="msg" dataSource="weibo" pk="mid" query="select * from message"
            deltaImportQuery="select * from message where mid='${dih.delta.mid}'"
            deltaQuery="select mid from solrmonitor where last_modified > '${dih.last_index_time}'">
            <field column="mid" name="mid" />
            <field column="text" name="text" />
            <field column="favorited" name="favorited" />
            <field column="comments" name="comments" />
            <field column="popularity" name="popularity" />
            <field column="attitudes" name="attitudes" />
            <field column="content" name="content" />
            <entity name="usr" query="select name from user where id='${msg.user}'">
                <field name="username" column="name" />
            </entity>
        </entity>
    </document>
</dataConfig>

 

 

 

posted on 2014-04-15 16:02  学而知之者  阅读(471)  评论(0编辑  收藏  举报