动态TableName SOLR数据导入处理程序

时间:2017-08-04 17:53:54

标签: solr dataimporthandler

我希望将SOLR配置为根据特定数据查询表。 遗憾的是,我不得不处理数据库的设置方式,但这就是我所追求的目标。

我有一个名为Company的表,其中包含一个"前缀"值。 我想使用该前缀值来确定我应该为DIH查询哪些表。

作为快速示例:

<entity name="company" query="Select top 1 prefix from Company">
<field name="prefix" column="prefix"/>
<entity name="item" query="select * from ${company.prefix}item">
<field column="ItemID" name="id"/>
<field column="Description" name="description/>
</entity>
</entity>

然而,尽管该表包含超过200,000行,但我似乎只处理了1个文档。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

我认为你可以通过以下方式实现这一目标:

  1. 使用存储过程。您可以通过DIH调用sp来看here
  2. 在存储过程中,您可以根据需要进行表查找,然后从真实查询​​中返回结果。
  3. 根据您对MSSql-SQL的好处,您可以将所有内容放入单个SQL查询中并直接在DIH中使用,但不确定。