msearch中每个查询的不同_source过滤

时间:2015-11-13 22:01:45

标签: search elasticsearch

问候溢出者,

我正在使用ElasticSearch 2.0 API。我有几个使用msearch一起执行的查询。我想为每个查询指定不同的_source过滤选项(就像_type一样),但是这些选项似乎被忽略(即没有过滤)。

有什么想法吗?

示例查询:

AzureStorageEmulator init /forceCreate

1 个答案:

答案 0 :(得分:0)

查看source filtering文档,您应该这样做:

elasticsearch.msearch({
    index: 'some_index',
    body: [
        {
            _type: 'type_a',
            _sourceExclude: ['field_a', 'field_b']
        },
        {query: {constant_score: {filter: {term: {field_c: valueA}}}}},
        {
            _type: 'type_b',
            _sourceExclude: ['field_d', 'field_e']
        },
        {query: {constant_score: {filter: {term: {field_f: valueB}}}}}
    ]
}, function msearch(err, results) { /* logic... */ });