Solr:查找包含值的组

时间:2017-02-04 13:57:30

标签: search solr solrj solrcloud

我有一个在Solr中索引的文档结构,它们由属性组合在一起。 让我们说我有一个由三个文件组成的小组:      A - > B - > ç

我想通过属性值V执行查询,该值将返回整个组,无论A或B或C是否包含值V. 例如 - 如果B包含值V,则查询将返回我的整个组(A,B,C)。

这在solr中是否可行?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果我理解正确,是的,这可能。您可以使用Graph query parser执行此操作:

  1. 您可以使用正确的信息为您的文档编制索引,以了解文档在某些字段中如何相互关联(请参阅文档中的示例)。
  2. 然后,你这样查询:

    {!图表+从= in_edge +为= out_edge}

    Q = ID:A

  3. 其中id:A是获取文档起始集的查询,{!graph ...}是从起始集中获取所有文档。

    一些警告:

    1. 仅适用于独立solr或单个Solrcloud分片(虽然某些图形功能在Streaming表达式中也可用,但这些功能适用于所有分片,但目前功能较少)
    2. 取决于您想要覆盖的文档图形(以及如何索引边缘信息),工作案例可能需要运行两个查询,一个用于从“起始集合”获取文档,另一个用于例如,将文档'设置为'起始集。