一些背景信息: 在我们的应用程序中,我们需要更新大量记录 经常。我调查了solr子文档,但它需要更新两者 孩子和父文件。因此,我正在研究补充 在辅助文件中经常更新的信息"有一个习惯 定义" parent-id"可用于与静态"父级连接的字段 文件&#34 ;. - 基本上滚动我自己的子文档功能。
这种方法满足了我的所有要求,除了一个。我怎么能够 面对辅助文件中存在的一个字段?
首先,这是我的测试核心索引(4个文档+ 4个辅助文档)的主要转储 https://gist.github.com/anonymous/2774b54e667778c71492
接下来,这里只是对aux的一个简单的facet查询。虽然这有效,但它 只返回辅助文件 https://gist.github.com/anonymous/a58b87576b895e467c68
最后,我使用SOLR连接调整查询( https://wiki.apache.org/solr/Join)返回主要文件(它是 但是,分面没有结果。这就是我所希望的人 在此列表中可以回答。 这是该查询的要点 https://gist.github.com/anonymous/f3a287ab726f35b142cf
任何答案,建议?
谢谢
答案 0 :(得分:3)
更新我的任务结果。 1.可以使用一些自定义编码 2.我们决定翻转main和aux文档,将facetable字段放在主文档中。虽然构造等效查询(对标准SOLR查询)是一个PITA - 涉及主要子句,附加到主查询的嵌套查询和过滤子句,但这种方法有效。
答案 1 :(得分:1)
您将无法使用Join
支持进行操作,因为它不允许您对未返回的文档(仅查询)中的字段执行任何操作。整个功能仅限于根据字段中的值查找文档,并且不会合并文档或使其可用于Solr中的其他功能。
然而,Block Join
支持可能会更幸运,但has its own caveats as well(例如删除文档和保持内容同步)。