繁体   English   中英

Solr-查询嵌套的子文档

[英]Solr - Querying on nested child documents

我有一个父文档中有两个子文档的要求。 例如,被索引的文档看起来像这样,

{
"id":123,
"name":"nithin",
"_childDocuments_":[
{
"id":"22"
"place":"blr",
"parent_id":123,
"street":"inagar"
},
{
"id":"23"
"place":"tvm",
"parent_id":123,
"street":"bakery"
}
]
}

在这里,名字nithin有两个子文档,分别具有不同的位置和街道。 我的要求是查询所有具有特定地点和/或街道的父母。 可以说blr和面包店。 如果我发出一个查询说(blr和面包店),它将不会返回任何结果。 我不能使用BLR或Bakery,因为我想要一个子文档应具有BLR和Bakery的父文档。 我该如何实现?

我认为实现目标的最佳方法是通过Block Join Parser功能。

您需要进行一些更改-为父文档引入一些标记。 在Solr词汇表中,“父过滤器”将需要它。 因此,假设每个父文档将具有content_type:parentDocument (仅出于示例目的),您将能够使用BJQ(块联接查询)查找所有父文档,例如:

{!parent which="content_type:parentDocument"}(+place:blr +street:bakery)

请记住,您需要按照Solr Wiki上的描述,将父子文档一起索引(在同一块中)(但是据我所知 ,这样做应该是一件好事)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM