问题描述
|
我正在努力研究如何在Solr文档中存储n + 1对象的最佳方法。
我将CV /简历文档存储在solr文档中。我正在查看存储两种不同的数据类型“教育”和“就业”
如果我们看一下教育,则对象看起来像这样:
{
\"establishment\" => \'Oxford\',\"Subject\" => \'Computing\',\"Type\" => \'Degree\',\"Grade\" => \'2:1\'
}
一个CV可以具有n + 1个这些对象,具体取决于CV的内容。搜索需要能够看到,当我搜索带有Establishment = Oxford&Subject = Computing&Grade = 2:1的CV时,它与该对象匹配,而不是具有相同主题和等级的其他场所。
我认为一个多值不会或可能会存储n + 1个此类对象。
我的问题是如何设置solr以便能够针对一个“ CV” Solr文档存储这种类型的数据,以便它能够作为索引的常规搜索的一部分进行搜索?
解决方法
本质上,您希望将Solr变成关系数据库。即您想对文档实施某种结构,而不是只是一堆字。
如果您需要关系,那么您就需要关系。我能想到的唯一方法是分别索引教育对象,然后从简历中获取一个“外键”。
或者,您的\“ n \”看起来可能很小。因此,您可以将每个简历多次包含在索引中,每个教育列表都包含一次。这可能会使得分略有下降,但ymmv。