【问题标题】:Solr block join child field with expand gets errorSolr 块连接子字段与扩展获取错误
【发布时间】:2015-08-05 00:17:25
【问题描述】:

我使用 solr 的嵌套文档支持来索引我的文档。我试图同时查询父母和孩子。我的查询是 q={!parent which="parent_field"} child_field&wt=json&indent=true&expand=true&expand.field=root&expand.q=: 但是,有时在特定字段上我会收到以下错误:

子查询只能匹配非父文档,但父 docID=2147483647 匹配 childScorer=class org.apache.lucene.search.TermScorer

这个错误似乎是随机发生的。是什么导致了这个错误?有没有一个例子说明如何使用 solr 按父母和孩子过滤文档?

【问题讨论】:

    标签: search solr lucene


    【解决方案1】:

    块连接用于 一种。根据子字段匹配检索父级,或 湾。检索父匹配的所有子文档 但不是两者兼而有之。您的查询看起来像您想要获取具有子字段匹配的父文档。但是,您是否给出了“child_field 的条件匹配”?我无法看到它。 文档here

    【讨论】:

    • 您好,很高兴再次见到您。我的基本想法是通过匹配父项和子项中的术语来检索文档。例如,假设父文档是一首歌,子文档是用户评论。如果您想查找类型为摇滚(父字段)并且在评论(子字段)中“喜欢”最多的歌曲,您将如何构建查询?
    • 当字段具有唯一值并且仅检索到一个父文档时,似乎会发生此错误。这似乎是一些错误,我希望它可以在未来得到解决
    • q={!parent which="genre:rock"}cmets:like。这应该会为您获取 Sond 文件。只有一个父文档检索是常规用例。所以不应该抛出任何错误。总是有可能只有一个孩子。
    猜你喜欢
    • 1970-01-01
    • 2012-08-12
    • 2012-09-15
    • 1970-01-01
    • 1970-01-01
    • 2020-11-29
    • 2018-07-03
    • 2013-01-15
    • 1970-01-01
    相关资源
    最近更新 更多