繁体   English   中英

在solr中执行增量导入时的时间戳兼容性

[英]Timestamp compatibility while performing delta import in solr

我是solr的新手。我已成功索引oracle 10g xe数据库。 我试图在同一位置执行增量导入。 增量查询需要将表的last_modified列与${dih.last_index_time} 但是,在我的应用程序中没有这样的列。 另外,我无法添加此列。 因此,我使用了' scn_to_timestamp(ora_rowscn) '来提供所需时间戳的值。 该查询以以下格式24-JUL-13 12.42.32.000000000 PM返回timestamp类型的值,并且dih.last_index_time的格式为2013-07-24 12:18:03 因此,我将dih.last_index_time的格式dih.last_index_timeto_timestamp('${dih.last_index_time}', 'YYYY/MM/DD HH:MI:SS').

我的数据配置看起来像这样-

<dataConfig>
<dataSource type="JdbcDataSource" driver="oracle.jdbc.OracleDriver" url="jdbc:oracle:thin:@XXX.XXX.XX.XX:XXXX:xe" user="XXXXXXXX" password="XXXXXXX" /> 
<document name="product_info">
<entity name="PRODUCT" pk="PID" query="SELECT * FROM PRODUCT" deltaImportQuery="SELECT * FROM PRODUCT WHERE PID=${dih.delta.id}" deltaQuery="SELECT PID FROM PRODUCT WHERE scn_to_timestamp(ora_rowscn) > to_timestamp('${dih.last_index_time}', 'YYYY/MM/DD HH:MI:SS')">
  <field column="PID" name="id" /> 
  <field column="PNAME" name="itemName" /> 
  <field column="INITQTY" name="itemQuantity" />
  <field column="REMQTY" name="remQuantity" />
  <field column="PRICE" name="itemPrice" /> 
  <field column="SPECIFICATION" name="specifications" /> 
  <entity name="SUB_CATEGORY" query="SELECT * FROM SUB_CATEGORY WHERE SCID=${PRODUCT.SCID}">
    <field column="SUBCATNAME" name="brand" /> 
    <entity name="CATEGORY" query="SELECT CNAME FROM CATEGORY WHERE CID=${SUB_CATEGORY.CID}">
      <field column="CNAME" name="itemCategory" /> 
    </entity>
  </entity>
</entity>
</document>
</dataConfig>

但是,这不起作用,并且我收到以下错误-

Unable to execute query: SELECT * FROM PRODUCT WHERE PID= Processing Document # 1
Caused by: java.sql.SQLException: ORA-00936: missing expression

请帮帮我!!!

我遇到了类似的问题,并且在* to_date *上取得了更大的成功。 但是再看一遍,似乎您只需要在delatImportQuery中引用您的增量ID:

deltaImportQuery =“ SELECT * FROM PRODUCT WHERE PID = ' $ {dih.delta.id} '

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM