ElasticSearch按评论查找帖子

6psbrbz9  于 2022-11-22  发布在  ElasticSearch
关注(0)|答案(1)|浏览(226)

我正在尝试编写一个查询,根据文章的评论来查找文章。
所以如果用户试图找到“巧克力”

{
  type: "article",
  id: "myArticle1",
  title: "something about brown food"
}

{
  body: "I love chocolates!",
  type:"comment",
  commentOf: "myArticle1"
}

在这个例子中,我在同一个索引中有两个文档,我试图通过在body中匹配chocolates的注解来获取“myArticle1”文档。我该怎么做呢?是用top_children查询吗?

8yoxcaq7

8yoxcaq71#

您可以在ES中使用父子关系来实现此目的:
1.定义父项(文章)和子项(注解)
1.索引数据。你应该知道如何索引子数据,因为它将不同于正常(需要在索引请求中指定父)
1.使用has_child查询可查询与comment中的某些字段匹配的article
我为它编写了一个完整的工作示例脚本:https://gist.github.com/dqduc/efa66047358dac66461b
你可以运行它来测试,并把你的反馈给我。我猜你对ES和ES中的父子关系是新的。

相关问题