solr不会导入id以外的字段

时间:2016-05-26 13:34:29

标签: solr dataimporthandler

我正在使用Solr DataImportHandler模块。这是我的配置;

<dataConfig>
  <dataSource type="JdbcDataSource" 
              name="sql" 
              driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
              url="jdbc:sqlserver://localhost;databaseName=AdventureWorks2008;integratedSecurity=true;"/>
  <document>
    <entity name="Person"  dataSource="sql"
      pk="BusinessEntityID"
      query="select BusinessEntityID,FirstName,LastName FROM [Person].[Person]"
      deltaImportQuery="select BusinessEntityID,FirstName,LastName FROM [Person].[Person] WHERE id='${dih.delta.id}'"
      deltaQuery="SELECT BusinessEntityID FROM [Person].[Person] WHERE ModifiedDate > '${dih.last_index_time}'">
       <field column="BusinessEntityID" name="id"/>
       <field column="FirstName" name="firstname"/>       
       <field column="LastName" name="lastname"/>       
    </entity>
  </document>
</dataConfig>

出于某种原因,只有id字段是导入而不是其余部分。

enter image description here

原因是什么?我错过了什么吗?

2 个答案:

答案 0 :(得分:3)

您可能错过了schema.xml文件

中的以下条目
<field name="id" type="string" indexed="true" stored="true" required="true"/> 
<field name="firstname" type="string" indexed="true" stored="true"/> 
<field name="lastname" type="string" indexed="true" stored="true"/>

此处id的类型可以是int。只需检查你想要的东西。

<field name="id" type="int" indexed="true" stored="true" required="true"/> 

答案 1 :(得分:0)

确保您的ID和唯一字段正确。 我遇到了同样的问题,更改了Pk和唯一的字段名称,效果很好。