我正在使用 Solr 开发搜索引擎,并且我已经成功地使用 DIH(数据导入处理程序)从一个表中索引数据。我需要的是从5 个不同的表中获取搜索结果。没有帮助,我无法做到这一点。
如果我们假设 x 表有 x 行,则每个表应该有 x * x 个文档,如果我总共有 5 个表,则导致 5x 个文档。在 dataconfig.xml 中,我在单个文档中创建了 5 个单独的实体,如下所示。我查询时索引数据的结果*:*
只有 6 个实体用户和 3 个来自实体类,即用户总行数为 9。
显然,这种方式对我不起作用,那么我怎样才能只使用单核来实现呢?
注意:我遵循了 DIHQuickStart和DIH 教程,但对我没有帮助。
<document>
<!-- Users -->
<entity dataSource="JdbcDataSource" name=" >
<field column="name" name="name" sourceColName="name" />
<field column="username" name="username" sourceColName="username"/>
<field column="email" name="email" sourceColName="email" />
<field column="country" name="country" sourceColName="country" />
</entity>
<!-- Classes -->
<entity dataSource="JdbcDataSource" name="classes" >
<field column="code" name="code" sourceColName="code" />
<field column="title" name="title" sourceColName="title" />
<field column="description" name="description" sourceColName="description" />
</entity>
<!-- Schools -->
<entity dataSource="JdbcDataSource" name="schools" >
<field column="school_name" name="school_name" sourceColName="school_name" />
<field column="country" name="country" sourceColName="country" />
<field column="city" name="city" sourceColName="city" />
</entity>
<!-- Resources -->
<entity dataSource="JdbcDataSource" name="resources" >
<field column="title" name="title" sourceColName="title" />
<field column="description" name="description" sourceColName="description" />
</entity>
<!-- Tasks -->
<entity dataSource="JdbcDataSource" name="tasks" >
<field column="title" name="title" sourceColName="title" />
<field column="description" name="description" sourceColName="description" />
</entity>
</document>