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 的方式。
关于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 的方式。