繁体   English   中英

Solr:如何区分通过DIH导入的多个实体

[英]Solr: How distinguish between multiple entities imported through DIH

当将DataImportHandler与SqlEntityProcessor一起使用时,我希望在同一个架构中使用不同的查询使用多个定义。

如何搜索两种类型的实体,但同时也要区分它们的来源。 例:

<document>
<entity name="entity1" query="query1">

    <field column="column1" name="column1" />
    <field column="column2" name="column2" />

</entity>
<entity name="entity2" query="query2">

    <field column="column1" name="column1" />
    <field column="column2" name="column2" />

</entity>
</document>

如何从实体1和实体2获取数据?

只要您的架构字段(例如column1,column2)在不同实体之间是兼容的,您就可以运行DataImportHandler,它将填充来自这两个查询的Solr集合。

然后,当您查询时,您将看到所有实体组合。

如果要标记哪个实体来自哪个来源,我建议添加另一个字段(例如,类型),并使用TemplateTransformer在每个实体定义中为其分配不同的静态值。

也要注意使用clean命令。 默认情况下,它将删除索引中的所有内容。 从多个来源填充索引时,需要确保索引不会删除过多。 使用preImportDeleteQuery可以仅删除在您为该实体设置的类型字段中具有相同值的条目。

暂无
暂无

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

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