我正在使用Solr 4.2。请注意,完全导入有效,但增量导入却不起作用。增量导入不会产生任何错误,但不会获取任何更改。这是数据配置文件。
<dataConfig> <dataSource type="JdbcDataSource" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver:testsql;databaseName=test" user="dba" password="dba"/> <script> <![CDATA[ function metadataTransformer (row) { var attributeName = row.get("attribute_name"); var attributeValue = row.get("attribute_value"); row.put(attributeName, attributeValue); return row; } ]]> </script> <document name="PRODUCTS"> <entity name="product" query="select distinct p.product_id as id from products p inner join products_meta pm on p.product_id = pm.product_id inner join meta m on pm.meta_id = m.meta_id where m.meta_type_id = 11 order by id desc" deltaImportQuery="select distinct p.product_id as id from products p inner join products_meta pm on p.product_id = pm.product_id inner join meta m on pm.meta_id = m.meta_id where m.meta_type_id = 11 and p.product_id='${dih.delta.product_id}'" deltaQuery= "select distinct product_id as id from products where updtime > '${dih.last_index_time}'"> <field column="id" name="id"/> <entity name="attribute" query="select attribute_name,attribute_value from solr_import where id =${product.id}" transformer= "script:metadataTransformer"> </entity> </entity> </document> </dataConfig>
这是我没有运气的尝试。
将p.product_id =’$ {dih.delta.product_id}更改为p.product_id =’$ {dih.delta.id}以及其他方式。将updtime>’$ {dih.last_index_time}’“的位置更改为updtime>’$ {dih.last_index_time}’的位置
请帮忙。
这是固定的。问题是solr box位于UTC时区。一旦将其转换为ET时区,增量导入就可以正常工作了。希望这对其他人有帮助。