该示例摘自Elasticsearch参考:https://www.elastic.co/guide/en/Elasticsearch/reference/5.3/nested.html
我的索引和这个差不多。唯一的区别是user.first和user.last是关键字类型,所以我可以对它们使用过滤器。
PUT my_index
{
"mappings": {
"my_type": {
"properties": {
"user": {
"type": "nested"
}
}
}
}
}
PUT my_index/my_type/1
{
"group" : "fans",
"user" : [
{
"first" : "John",
"last" : "Smith"
},
{
"first" : "Alice",
"last" : "White"
}
]
}
在两种情况下,我应该使用什么查询来获取与上面数组匹配的文档(正好是两个项,一个项是John Smith,一个项是Alice White):
搜索之后,实现顺序无关紧要的最好方法是:索引一个计数值域。
参见:Elasticsearch完全相等
原因是:
在Elasticsearch中,没有专用的数组类型。默认情况下,任何字段都可以包含零个或多个值,但是,数组中的所有值必须具有相同的数据类型。
null 当然有更好的方法吗?
我只需要对与查询匹配的嵌套对象上的值求和。看起来ElasticSearch确定与查询匹配的文档,然后对所有嵌套对象求和。从下面的大纲中,我想搜索嵌套对象。objtype=“A”并返回objvalue之和,仅用于匹配嵌套对象,我想得到值4。这可能吗?如果是,如何? 这是地图 这是我的文件 这是我的查询代码。
在Elasticsearch中,是否有任何方法可以将与特定查询/筛选器不匹配的嵌套对象从结果源中排除? 例如,假设一个文档在一个嵌套字段中有四个对象。查询所需的筛选器只会导致匹配对象1和3。当我们通过_source获得结果时,我们将拉回整个文档以及对象1、2、3、4。 有可能从结果中排除对象2和4吗?或者是我们必须使用应用程序端逻辑重新迭代并排除的东西?
尊敬的弹性搜索专家, 我在查询嵌套对象时遇到问题。允许使用以下简化映射: 并将一些文档放在索引中: 现在我想执行这样的查询: 因此,我想得到匹配的公司与数量匹配的文件。因此,上面的查询应该会告诉我: 以下查询: 应该给我所有公司分配到一个文件,其标题包含“GPU”与匹配的文件数量: 如果表现良好,是否有可能实现这一结果?我显然对匹配的文档不感兴趣,只对匹配文档和嵌套对象的数量感兴趣。 谢谢你的帮助
问题内容: 我有以下ES内容,基本上是网站中包含嵌套商品的产品列表。 如何按站点详细信息的数量排序? tnx! 问题答案: 从问题的示例来看,它看起来像是单个文档,但是单个json文档不可能在同一级别具有相同名称的多个字段。 因此,假设每个字段代表一个不同的顶级文档
目前我有这个阵列= 条件: 如果每个嵌套数组index2都相同,那么我想用[0.0 1.0,1.0 2.0,2.0 3.0,3.0 4.0] = [1.0,3.0,5.0,7.0]来求和 我想要的最终结果:[[“efg”, [1.0, 3.0, 5.0, 7.0], “测试”]] 有什么方法或建议来获得这个结果吗?