Solr的:如何通过谛进口多个实体区分(Solr: How distinguish between

2019-10-17 15:33发布

当使用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的数据?

Answer 1:

只要你的架构字段(例如列1,列2)是不同的实体之间的兼容,你可以运行DataImportHandler,它将从两个查询填充Solr的集合。

然后,当你查询,你会看到所有的实体相结合。

如果你想标记该实体从源头来了,我会建议在每个实体定义添加另一个字段(例如型),并分配给它不同的静态值使用TemplateTransformer 。

另外注意用干净的命令。 默认情况下,它会删除一切从指数。 当你从几个来源填充索引,你需要确保它不会删除太多。 使用preImportDeleteQuery与您为该实体设定的类型字段相同的值只删除条目。



文章来源: Solr: How distinguish between multiple entities imported through DIH