【发布时间】:2013-05-28 09:30:40
【问题描述】:
我想搜索一组嵌套文档并仅返回符合特定条件的文档。
一个示例映射是:
{"book":
{"properties":
{
"title":{"type":"string"},
"chapters":{
"type":"nested",
"properties":{"title":{"type":"string"},
"length":{"type":"long"}}
}
}
}
}
}
所以,假设我想查找标题为“尾声”的章节。 不是所有的书都有这样的章节,但是如果我使用嵌套查询,我会得到一本书中有这样的章节的所有章节。虽然我感兴趣的是有这样一个标题的章节本身。
我主要关心 i/o 和网络流量,因为可能有很多章节。
另外,有没有办法只检索嵌套文档而不包含包含文档?
【问题讨论】:
-
章节不是总是嵌套在书籍对象下吗?
-
您不能使用嵌套文档 afaik。但是,您可以将其改造成父(书)-子(章)关系。在这种情况下,您的问题 + 答案类似于 stackoverflow.com/questions/7431889/…
-
github 上的相关问题可以返回匹配的嵌套上下文:github.com/elasticsearch/elasticsearch/issues/1383 和更新的github.com/elasticsearch/elasticsearch/issues/3022
-
@Geert-Jan parent-child 不够好,因为它在内存中进行连接,而且我的数据库很大(数百 GB ......)。不过谢谢你的提示:)
-
亲子进步了很多,0.90。也许你可以试试看。否则不可能在一个查询中做你想做的事。
标签: elasticsearch