通过solr中的动态字段和值进行索引和搜索

时间:2013-10-10 09:35:51

标签: search solr solr-schema

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

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

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

E.g。我想过滤所有经过数学考试的学生,但只有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} 
]
}

非常感谢任何帮助。

非常感谢

1 个答案:

答案 0 :(得分:1)

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

进行查询
subject1234_i:[90 TO *]

请参阅Solr query syntax

其他字段(如姓名,城市)可以定义为静态,因为每个学生看起来都很常见。