我msearch
用来查询ES。以下是我的查询:-
[{
'index': u 'INDEX',
'type': u 'TYPE'
}, {
'query': {
'term': {
'FIELD1': u 'ID'
}
},
'from': 0,
'size': 1
}, {
'index': u 'INDEX',
'type': u 'TYPE'
}, {
'query': {
'function_score': {
'filter': {
'term': {
'source': u 'SOURCE'
}
},
'query': {
'dis_max': {
'tie_breaker': 0,
'queries': [{
'match': {
u 'FIELD2.shingle': {
'cutoff_frequency': 0,
'query': u 'QUERY',
'boost': 1,
'analyzer': 'shingle_analyzer',
'fuzziness': 1
}
}
}]
}
}
}
},
'min_score': 2,
'from': 0,
'size': 5 L
}]
ES_CLIENT.msearch(body=query)
现在有时会发生第一个和第二个查询结果之间的交集,这会导致重复的结果。在 ES中使用时如何获得独特的结果,msearch
或者我必须在应用程序级别处理它?