php - 在 solr 文档中存储 n+1 个对象

标签 php search lucene solr

我正在努力找出在 solr 文档中存储 n+1 对象的最佳方式。

我正在将 CV/resume 文档存储在 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 转变为关系数据库。 IE。你想在你的文档上强制执行一些结构,而不是让它们只是一堆单词。

如果你需要关系,那么你就需要关系。我能想到的唯一方法是单独索引教育对象,然后从简历中获得一个“外键”。

或者,您的“n”似乎可能很小。因此,您可以将每份简历多次包含在索引中,一次包含在每个教育列表中。这可能会影响得分,但是 ymmv。

关于php - 在 solr 文档中存储 n+1 个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192989/

相关文章:

MySQL - 文本搜索和数据库结构

php - 如何在 Eclipse PHP 的工作区 (ctrl+shift+g) 中查找引用?

javascript - window.open 不工作/不被调用

javascript - 在 getElementById 函数中传递两个变量

ruby - 在子目录的文件中搜索字符串

azure - 使用Lucene索引私有(private)数据,我应该为每个用户建立一个单独的索引还是单个索引

json - ElasticSearch 中前缀的多个字段和自动从和大小限制

java - 异常 : java. lang.IllegalArgumentException : An SPI class of type org. 名称为 'Lucene410' 的 apache.lucene.codecs.Codec 不存在

php - Paypal AngellEye DoExpressCheckout - 数据不匹配

php - MySQL 和 PHP 性能