动态表名 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 个文档。
我做错了什么?
我认为您可以通过以下方式实现:
- 使用存储过程。您可以从 DIH 调用 sp,如 here
- 在存储过程中,您可以根据需要进行 table 查找,然后 return 来自实际查询的结果。
根据您对 MSSql-s SQL 的熟练程度,您也许可以将所有内容放入一个 SQL 查询中并直接在 DIH 中使用,但不确定.
我正在寻找配置 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 个文档。
我做错了什么?
我认为您可以通过以下方式实现:
- 使用存储过程。您可以从 DIH 调用 sp,如 here
- 在存储过程中,您可以根据需要进行 table 查找,然后 return 来自实际查询的结果。
根据您对 MSSql-s SQL 的熟练程度,您也许可以将所有内容放入一个 SQL 查询中并直接在 DIH 中使用,但不确定.