我的索引中有parent
与-
child
相关的文档,并希望获取按孩子数排序的父母名单。有什么办法吗?我正在使用Elasticsearch
1.5.1
现在,通过使用inner_hits
功能,我可以轻松获得子文档的数量以及父查询的结果,但是似乎无法inner_hits.{child_type_name}.hits.total
从脚本或搜索/评分功能访问值。有任何想法吗?
好吧,我终于找到了答案。感谢@doctorcal在#elasticsearch
IRC 上的提示
正如我在这个问题提到的,我们可以使用每个家长让孩子的名单一起inner_hits在Elasticsearch
1.5。
为了能够按照孩子的数量对父母进行排序,我们需要使用一个小技巧-
将孩子的数量放入父母的分数中(默认情况下用于排序)。为此,我们只sum
对has_child查询使用分数模式:
{
"query": {
"has_child": {
"type": "comment",
"score_mode": "sum",
"query": {
"match_all": {}
},
"inner_hits": {}
}
}
}
注意:此查询有一个限制-似乎您无法保留有关初始分数(查询的相关分数)的信息,因为我们将其替换为子代数。
问题内容: 最初,我一直在尝试获取父母的名单以及每个父母的一个最近的孩子。我已经知道如何使用以下查询 但是问题是,结果不包括没有孩子的父母。添加也无济于事。所以我想我可以对所有没有孩子的父母进行查询,然后将这两个查询合并为一个查询。但是我在建立这样的查询时遇到了麻烦。将不胜感激任何建议。 问题答案: 这是您的查询:
这样不仅可以将转移页面的子元素放入数组,还可以将子元素的子元素放入数组。
d3.js树形布局是一个很棒的工具,但是它默认只允许孩子有一个单亲。我希望能够让孩子们有不止一个父母。我对树的默认行为提供的节点位置很满意。我想要的只是在默认树被计算出来之后,在没有孩子的父母和现有的孩子之间画出额外的对角线链接。我的脚本目前看起来像这样: 我试图使用根对象将父节点的子节点复制到无子节点,但无济于事(根对象的结构对我来说非常晦涩难懂)。 感谢任何帮助。 PS :我知道一个类似的问题
问题内容: 我在 MySQL中* 有如下的 注释 表: * 用户可以添加 新的 注释,因为它们不是其他注释的子对象,所以将没有parent_id。用户还可以 回复 通过先前方法添加的评论,因此它们是主要评论的子级,例如在第二层级上。该 PARENT_ID 列表示父评论的ID,如果存在的话。如果注释没有父母,则默认 parent_id 为-1。 话虽如此,我想查询表中的所有注释,每个父项后跟其子级,
问题内容: 因为我能够使用像 请让我知道如何使用_version做同样的事情。默认情况下,字段_version不支持Fielddata。所以可能是我缺少了一些东西。是否有要查询版本的特定设置?请帮忙! 问题答案: 您不能这样做,通常也不必这样做。看到这个线程:https : //discuss.elastic.co/t/filter-by–version-and-show–version-in-e
问题内容: 我试图以这样一种方式编写SQL Server 2008查询,以便可以根据需要循环遍历输出和输出标头。我已经多次以错误的方式完成了这些工作,并让ColdFusion在页面中进行了艰苦的工作,但是需要在SQL Server中完成。 我希望查询结果集如下所示: 如果ParentID为0,则表示它是主要类别。如果ParentID大于0,则表示它是次要类别,是父级的子级。 因此,父母需要订购A-