我正在尝试编写一个查询,根据文章的评论来查找文章。
所以如果用户试图找到“巧克力”
{
type: "article",
id: "myArticle1",
title: "something about brown food"
}
{
body: "I love chocolates!",
type:"comment",
commentOf: "myArticle1"
}
在这个例子中,我在同一个索引中有两个文档,我试图通过在body中匹配chocolates的注解来获取“myArticle1”文档。我该怎么做呢?是用top_children查询吗?
1条答案
按热度按时间8yoxcaq71#
您可以在ES中使用父子关系来实现此目的:
1.定义父项(文章)和子项(注解)
1.索引数据。你应该知道如何索引子数据,因为它将不同于正常(需要在索引请求中指定父)
1.使用
has_child
查询可查询与comment
中的某些字段匹配的article
我为它编写了一个完整的工作示例脚本:https://gist.github.com/dqduc/efa66047358dac66461b
你可以运行它来测试,并把你的反馈给我。我猜你对ES和ES中的父子关系是新的。