0

我需要帮助在 solr 中索引这些数据。

假设我有这种学生数据库。我想在 solr 中索引这些数据,并希望能够按测试对象及其百分位数进行搜索。学生所学的科目可能因学生而异,而且不是固定的模式。所以,我不能将主题名称作为字段名称。

我尝试探索动态字段,但似乎无法弄清楚我将如何通过百分位数进行查询。

例如,我想按所有已经过数学测试但成绩只有 90% 或更高的学生进行过滤。我还想按城市、姓名或姓名、地址和测试对象及其百分位数之间的组合查询进行搜索。

{
Name: Max Junior,
Address: Twin peaks
City : ,San francisco,
Grade: 1, 
Subjects: ["Math", "Science", "English"]
Tested Subjects: 
[
{name: Math, percentile: 95},
{name: Science, percentile: 85} 
]
},
{
Name: Alicia Alex,
Address: Nob Hill,
City: San Mateo,
Grade: 1, 
Subjects: ["Math", "English", "Craft"]
Tested Subjects: 
[
{name: Math, percentile: 65},
{name: Science, percentile: 78} 
]
}

任何帮助是极大的赞赏。

非常感谢

4

1 回答 1

1

我假设您有一些唯一的 ID 来识别不同的主题。例如,数学科目为 1234,科学为 2345。在这种情况下,您可以将数学百分位数与 subject1234_i 进行索引(假设百分位数为整数值)。然后,您可以查询该字段为

subject1234_i:[90 TO *]

参考Solr 查询语法

名称、城市等其他字段可以定义为静态字段,因为这些字段对于每个学生来说似乎都很常见。

于 2013-10-10T10:06:58.140 回答