动态表名 SOLR 数据导入处理程序

Dynamic TableName SOLR data import handler

我正在寻找配置 SOLR 以根据特定数据查询 table。 不幸的是,我必须处理数据库的设置方式,但这就是我所追求的。

我有一个名为 table 的公司,它将包含某个 "prefix" 值。 我想使用该前缀值来确定我应该为 DIH 查询哪些 tables。

快速示例:

<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>

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

我做错了什么?

我认为您可以通过以下方式实现:

  1. 使用存储过程。您可以从 DIH 调用 sp,如 here
  2. 在存储过程中,您可以根据需要进行 table 查找,然后 return 来自实际查询的结果。

根据您对 MSSql-s SQL 的熟练程度,您也许可以将所有内容放入一个 SQL 查询中并直接在 DIH 中使用,但不确定.