数据库映射到Solr

时间:2014-05-27 02:27:54

标签: solr lucene rdbms solrj

我正在使用关系数据库构建Java应用程序,我希望将其主要数据映射到Solr索引。但是,我不确定如何映射数据库的组件。我已经将单行单元格映射到Solr / Lucene文档。

doc就是这样的(每一行都是一个字段):

schema: "schemaName"
table: "tableName"
column: "columnName"
row: "rowNumber"
data: "data on schemaName.tableName.columnName.row"

这允许我有一个“固定的”Solr schema.xml(据我所知,它必须在创建索引之前定义)。动态字段似乎也不符合我的目的。

我在搜索时发现的是,单行通常映射到Solr文档,每列都映射为Field。但是,如何将列名作为字段添加到schema.xml中(当我不知道表中的列时)?另外,我需要查询信息,就像它是SQL一样。即,搜索表格中的列的所有行等等。

根据我目前的“解决方案”,我可以做那种查询,但我担心性能,因为我是Solr的新手,我不知道它可能带来的影响。

那么,你对我的“解决方案”怎么说?是否有另一种方法将数据库映射到有关schema.xml字段的Solr索引应该在索引之前设置?我也“听说”表通常映射到索引:我怎么能实现呢?

也许我只是在做菜,但通过我所做的研究,我没有看到如何将数据库行映射到Solr文档而不会弄乱schema.xml字段。

我很感激任何想法:)问候。

1 个答案:

答案 0 :(得分:0)

您可以预先在架构中指定表列或使用动态字段,然后使用solr DIH将数据从数据库导入solr。在DIH的查询中选择动态字段名称。

请浏览Solr DIH for database integration