【发布时间】:2016-04-23 23:32:45
【问题描述】:
如何查询父文档,而子文档没有具有特定字段值?
例如: 假设我们有以下数据结构:
{
"type_s": "book",
"id_l": 4294967298,
"title_s": "The Little Mermaid"
{
"type_s": "review",
"id_l": "4294967451",
"reviewer_s": "Freeman, Gordon",
"comment_s": "Great book!"
},
{
"type_s": "review",
"id_l": "4294967452",
"reviewer_s": "Denton, J.C.",
"comment_s": "My daughter loved it!"
}
},
{
"type_s": "book",
"id_l": 4294967298,
"title_s": "Lion King"
{
"type_s": "review",
"id_l": "4294967457",
"reviewer_s": "Woods, Susanne",
"comment_s": "One of the best!"
},
{
"type_s": "review",
"id_l": "4294967458",
"reviewer_s": "Denver, Michel",
"comment_s": "Liked the ending!"
}
},
{
"type_s": "book",
"id_l": 4294967298,
"title_s": "7 dwarves"
{
"type_s": "review",
"id_l": "4294967453",
"reviewer_s": "Freeman, Gordon",
"comment_s": "Great book!"
},
{
"type_s": "review",
"id_l": "4294967454",
"reviewer_s": "Delacroix, Marie",
"comment_s": "Too many dwarves!"
}
}
如果我想让所有的书都得到“弗里曼”的评论,我会这样做:
&fq={!parent which='type_s:book'}type_s:review AND reviewer_s:Freeman
这会给我两本书。
但是,如果我想让所有的书都没有“弗里曼”的评论,我该怎么办?
我试过这样
&fq={!parent which='type_s:book'}type_s:review AND reviewer_s:(NOT Freeman)
这给了我 0 个结果
还有这个
&fq={!parent which='type_s:book'}type_s:review AND NOT reviewer_s:Freeman)
这给了我所有的父文件。
下面的内容更有希望,它给了我一些结果(在我的真实用例中)
&fq={!parent which='type_s:book'}type_s:review AND -reviewer_s:["" TO *]
请注意,我也尝试使用单引号中的搜索词进行查询。
【问题讨论】: