在Elasticsearch中查询列表

莱泽

我在Elasticsearch中有一组文档。每个文档都有一个“类别”字段,该字段是该文档所在类别的名称的从最一般到最具体的有序列表。类别层次结构是一个分类法(每个类别只有一个父级),但名称类别重叠。从根本上来说,完整的类别链是确定文档所属类别的唯一可靠方法。

例如,一个文档可能具有类别字段:

["Science", "Biology", "Journal"]

另一个可能有:

["Science", "Astronomy", "Journal"]

问题:

1)如何将文档汇总到其唯一类别中?我将“类别”字段映射为未分析,但是,一个简单的术语聚合仍会将上面的两个文档归入“日记”存储桶中。有没有一种方法可以按列表中的位置进行汇总,或者仅对列表中特定位置的术语进行汇总?

2)给定一个唯一的类别(如其路径所标识),如何过滤该类别中的文档?有没有一种方法可以根据列表中的位置进行过滤?

罗兰·范·海德盖姆

不,你不能。查看多值栏位

但是,数组被索引(可搜索)为无序的多值字段。在搜索时,您不能引用“第一个元素”或“最后一个元素”。而是将数组视为一袋值。

您可以做的是使用嵌套对象,或更简单的方法是将路径写在一个字段中,并对其进行分析和不分析进行索引。

{"categories":"Science Biology Journal"}

现在,您可以使用一系列过滤器和查询来对其进行搜索。例如:

  • 术语(未分析):如果您想要确切的路径
  • 字符串查询:如果要一个或多个类别
  • ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在词条查询中具有动态列表值的elasticsearch QueryBuilder

来自分类Dev

ElasticSearch:使用单个查询在单个字段上查询列表中的每个元素

来自分类Dev

查询中的Elasticsearch索引

来自分类Dev

Elasticsearch中的嵌套查询

来自分类Dev

ElasticSearch中的条件查询?

来自分类Dev

Elasticsearch中的AND查询

来自分类Dev

Elasticsearch中的复杂查询

来自分类Dev

Julia中的Elasticsearch查询

来自分类Dev

ElasticSearch中的'And''Or'查询

来自分类Dev

在Elasticsearch中组合查询

来自分类Dev

Elasticsearch中的模糊查询

来自分类Dev

Elasticsearch中的性能查询

来自分类Dev

elasticsearch中的术语查询

来自分类Dev

在内部列表上查询Elasticsearch并仅从列表中获取匹配的对象,而不是结果文档中的整个列表

来自分类Dev

ElasticSearch:查询今天是否在列表中的开始日期和结束日期之间和之间

来自分类Dev

如何将 ElasticSearch Aggregations 查询的桶键值解析为 C# 中的整数列表

来自分类Dev

在firebase中查询列表

来自分类Dev

在Elasticsearch中检索词条查询

来自分类Dev

grafana中的Elasticsearch Lucene查询

来自分类Dev

在Elasticsearch中验证聚合查询

来自分类Dev

在Elasticsearch中查询子文档

来自分类Dev

Elasticsearch中的复杂布尔查询

来自分类Dev

Elasticsearch Watcher 中的畸形查询

来自分类Dev

识别布尔查询Elasticsearch中匹配的查询

来自分类Dev

在elasticsearch中按列表排序

来自分类Dev

LINQ查询记录中的列表

来自分类Dev

在mongoengine中查询列表;包含与

来自分类Dev

SELECT查询中的详细列表

来自分类Dev

列表中的Postgres JSON查询