SOLR 存储关系数据库中的数据

SOLR storing data from relational database

关于SOLR中数据存储概念的问题 我要三个文件:

用户: - id(唯一) - 公司名称 - 地址

属性: - isCarOwner - 车型

位置: - 地址

将从关系数据库中收集数据。问题是我如何在 solr 中表示这些数据。

我脑子里有这样一个概念: 我将有一个文档,其中定义了所有这些字段。我会将该文档作为关系数据库中的数据集合提供。我会用这个:

我将用以下查询填充此索引 (8983/solr/update/json?commit=true):

[{
"id" : "1",
"companyname" : "BlackDevil",
"iscarowner": true,
"cartype": "Honda R1",
"Address": "Super Hero Street."
}]

我将使用以下查询搜索此索引:

:8983/solr/select?q=id:1&wt=json&indent=true

DataSet比这大得多,但这只是一个概念。这是正确的方法吗?

我的主要问题是:一个索引就够了吗?我需要扩展吗?

如果您的原始表具有 1-1 关系(一个用户、0 或 1 种汽车类型、0 或 1 个地址)那么是的,您的方法对 Solr 来说是正确的——当然是最简单的。

原始数据中更复杂的关系可以用不同的方式处理(多值字段、嵌套文档、多核),但根据您的描述,您不需要这些。一个包含每个文档中的所有信息的平面集合将完美地工作 - 这也是 "default" 使用 Solr 的方式。