查询嵌套数组对象字段

时间:2019-06-11 15:34:08

标签: python-2.7 elasticsearch

我的Elasticsearch文档具有以下架构:

{
    _id: _id_val
    sample_id: sample_id,
    data_arr: [{qc_1: qc_1_val, qc_2: qc_2_val, tot: tot_val}, ...]
}

我想用python2elasticsearch-dsl中创建一个查询,以获取一组sample_ids列表中的所有文档,而这些检索到的文档应该是带有{{1 }}列表中仅包含data_arr中具有qc_1的对象。在这里,我发现了如何进行qc_1_list查询:

https://github.com/elastic/elasticsearch-dsl-py/issues/304

但这是针对嵌套对象的,因此我不确定如何访问nested来构造查询。目前,我未完成的查询如下所示:

qc_1

我不确定在查询的main_filter = Q('bool', filter=[Q('terms', sample_id=sample_list), -----> Q('nested', qc_gene_data__=gene_list)]) res = Search(using=client, index=index_name).filter(main_filter) 部分写什么,以及是否完全允许使用整个nested还是我应该将其分成两部分。

0 个答案:

没有答案