我的Elasticsearch
文档具有以下架构:
{
_id: _id_val
sample_id: sample_id,
data_arr: [{qc_1: qc_1_val, qc_2: qc_2_val, tot: tot_val}, ...]
}
我想用python2
在elasticsearch-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
还是我应该将其分成两部分。