Solr中的多个索引

时间:2015-07-14 10:12:53

标签: mysql solr

我想使用Apache Solr从MySQL索引两个表。请参阅下面的我的数据配置和架构文件。

<dataConfig> 
 <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="root" batchSize="1" />  
 <document name="tb_location">   
  <entity name="tb_location" query="SELECT * FROM tb_location">    
   <field column="loc_code" name="id"/>    
   <field column="loc_code" name="loc_code"/>    
   <field column="loc_name" name="loc_name"/> 
   <field column="loc_name" name="loc_name_ci"/> 
   <field column="ADM1_FULL_NAME" name="state"/>         
  </entity>  
 </document>
 <document name="person">   
  <entity name="person" query="SELECT * FROM person">    
   <field column="id" name="personid"/>    
   <field column="fname" name="fname"/>    
   <field column="lname" name="lname"/> 
   <field column="town" name="town"/>       
  </entity>  
 </document>
</dataConfig>

Schema.xml的

 <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" /> -
    <field name="loc_code" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="loc_name" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="loc_name_ci" type="string_ci" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="state" type="string" indexed="true" stored="true" required="true" multiValued="false" />

    <field name="personid" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="fname" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="lname" type="string" indexed="true" stored="true" required="true" multiValued="false" />
    <field name="town" type="string" indexed="true" stored="true" required="true" multiValued="false" />

我也为每个表(id和personid)创建了唯一的id。但是当我执行dataimport模块时,不会获取任何内容或将其编入索引。有人可以帮我弄清问题的确切位置吗?

2 个答案:

答案 0 :(得分:0)

请查看以下链接了解多个索引......

Multiple indexes

答案 1 :(得分:0)

修正了!!! data-config.xml应如下所示。

<dataConfig> 
 <dataSource type="JdbcDataSource" driver="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/test" user="root" password="root" batchSize="1" />  
 <document name="tb_location">   
  <entity name="tb_location" query="SELECT * FROM tb_location">    
   <field column="loc_code" name="id"/>    
   <field column="loc_code" name="loc_code"/>    
   <field column="loc_name" name="loc_name"/> 
   <field column="loc_name" name="loc_name_ci"/> 
   <field column="ADM1_FULL_NAME" name="state"/>     
  </entity> 
  <entity name="person" query="SELECT * FROM person">    
   <field column="id" name="personid"/>    
   <field column="fname" name="fname"/>    
   <field column="lname" name="lname"/> 
   <field column="town" name="town"/>   
  </entity>  
 </document>
</dataConfig>