solr从数据库导入数据到索引中
准备工作需要从solr4.2中C:\Users\cuichao\Desktop\solr\solr-4.2.1\dist目录下
把solr-dataimporthandler-4.2.1.jar包拷到D:\tomcat6\apache-tomcat-6.0.36.0\webapps\solr\WEB-INF\lib目录下
第一步,需要在solrconfig.xml中写入
- <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
- <lst name="defaults">
- <str name="config">D:\tomcat6\apache-tomcat-6.0.36.0\webapps\solr\collection3\conf\data-config.xml</str>
- </lst>
- </requestHandler>
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
<lst name="defaults">
<str name="config">D:\tomcat6\apache-tomcat-6.0.36.0\webapps\solr\collection3\conf\data-config.xml</str>
</lst>
</requestHandler>
第二步,需要在solrconfig.xml同级目录下,拷贝data-config.xml
(1),首先需要定义数据源
- (2). 其次需要定义实体类以及语句
- <dataConfig>
- <dataSource name="mydb" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/solvenew" user="root" password="ninemax"/>
- <document>
- <entity dataSource="mydb" name="tagged2_needtag" query="select * from tagged2_needtag">
- <field column="id" name="id"/>
- <field column="number" name="number"/>
- <field column="nnp" name="nnp"/>
- <field column="name3" name="name3"/>
- </entity>
- </document>
- </dataConfig>
(2). 其次需要定义实体类以及语句
<dataConfig>
<dataSource name="mydb" type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost/solvenew" user="root" password="ninemax"/>
<document>
<entity dataSource="mydb" name="tagged2_needtag" query="select * from tagged2_needtag">
<field column="id" name="id"/>
<field column="number" name="number"/>
<field column="nnp" name="nnp"/>
<field column="name3" name="name3"/>
</entity>
</document>
</dataConfig>
第三步,需要在schema.xml中定义如下测试信息
- <field name="number" type="string" indexed="true" stored="true" omitNorms="true"/>
- <field name="nnp" type="string" indexed="true" stored="true" omitNorms="true"/>
- <field name="name3" type="string" indexed="true" stored="true" omitNorms="true"/>
<field name="number" type="string" indexed="true" stored="true" omitNorms="true"/>
<field name="nnp" type="string" indexed="true" stored="true" omitNorms="true"/>
<field name="name3" type="string" indexed="true" stored="true" omitNorms="true"/>
主键无需定义
第四步,访问管理页面,点左下角那个导入工具
勾选实体类,勾选commint,及optimze然后点击execute执行即可