[英]Solr Mongo/DocDB Delta Import Query is not working
I am trying to import data from Document DB to solr-5.4.1.我正在尝试将数据从 Document DB 导入到 solr-5.4.1。 Full import is executing properly but delta import is not working.
完全导入正确执行,但增量导入不起作用。 When I execute delta import nothing happens
当我执行增量导入时没有任何反应
Here is the current delta configuration这是当前的增量配置
deltaQuery="{'lastUpdatedDate':{$exists:true},'lastUpdatedDate':{$gt: Date('${dih.last_index_time}')}}"
deltaImportQuery="{'_id':'${dih.delta._id}'}">
whole db-data-config.xml整个 db-data-config.xml
<dataConfig>
<propertyWriter dateFormat="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" type="SimplePropertiesWriter" filename="dataimport.properties"/>
<document name="tvTitleSearch">
<entity name="tvTitleSearch"
processor="MongoEntityProcessor"
query=""
collection="tvTitleSearch"
datasource="MyMongo"
transformer="MongoMapperTransformer"
deltaQuery="{'lastUpdatedDate':{$exists:true},'lastUpdatedDate':{$gt: Date('${dih.last_index_time}')}}"
deltaImportQuery="{'_id':'${dih.delta._id}'}">
<field name="id" column="_id" indexed="true" type="uuid" stored="true" mongoField="_id"/>
<field column="lastUpdatedDate" sourceColName="lastUpdatedDate" dateTimeFormat="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" locale="en"/>
</entity>
</document>
</dataConfig>
sample from managed-schema file托管模式文件中的示例
<field type="date" name="modifiedDate" indexed="true" stored="true"/>
<field type="date" name="lastUpdatedDate" indexed="true" stored="true"/>
the value stored in DocumentDB: DocumentDB 中存储的值:
lastUpdatedDate:2019-11-24T11:43:46.045+00:00
I tried to follow the date-time format as stored in DocumentDB, but still, it did not work, also, I tried suggestions from other similar question asked here but no luck.我尝试遵循存储在 DocumentDB 中的日期时间格式,但它仍然不起作用,而且,我尝试了这里提出的其他类似问题的建议,但没有运气。 I tried below snippet in delta query
我在增量查询中尝试了以下片段
{lastUpdatedDate : {$gt: ISODate('${dih.last_index_time}')}} , but I got JSON Prasing Excpetion
but got below Exception但低于异常
java.lang.RuntimeException: org.apache.solr.handler.dataimport.DataImportHandlerException: com.mongodb.util.JSONParseException:
{'lastUpdatedDate':{$exists:true},'lastUpdatedDate':{$gt: ISODate('2019-11-20T13:14:30.576-08:00')}}
I tried following configuration too我也尝试了以下配置
deltaQuery="{'lastUpdatedDate':{$exists:true},'lastUpdatedDate':{$gt:
{$date:'${dih.last_index_time}'}}}"
could someone please help me or provide any suggestions to trigger delta query有人可以帮助我或提供任何建议来触发增量查询
The correct way to use the deltaQuery is使用 deltaQuery 的正确方法是
deltaQuery="{'lastUpdatedDate':{$exists:true},'lastUpdatedDate':{$gt: {$date:'2020-03-13T08:44:06.959Z'}}}"
However, the SOLR will use ${dih.last_index_time}
that is by default formated as 2020-03-13 08:44:06
.但是,SOLR 将使用默认格式为
2020-03-13 08:44:06
的${dih.last_index_time}
。 You'll need to change the format by adding something like the following setting inside your <dateConfig>
element.您需要通过在
<dateConfig>
元素中添加类似以下设置的内容来更改格式。
<propertyWriter dateFormat="yyyy-MM-dd'T'HH:mm:ss.SSSXXX" type="SimplePropertiesWriter" filename="my_dih.properties" locale="en-US" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.