0
我试图在elasticsearch中使用queryDSL创建一个MINUS查询,如Mysql(DATASET1-DATASET2),但找不到方法。如何在elasticsearch中执行MINUS操作
任何人都可以告诉我方式吗? Tx提前
我试图在elasticsearch中使用queryDSL创建一个MINUS查询,如Mysql(DATASET1-DATASET2),但找不到方法。如何在elasticsearch中执行MINUS操作
任何人都可以告诉我方式吗? Tx提前
您可以使用必须和必须不使用bool查询。
Documentation on the bool query
你会把查询dataSet1的在必和must_not的查询DATASET2:
{
"bool" : {
"must" : {
DATASET1
}
"must_not" : {
DATASET2
}
}
}
例如:
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": {
"range": {
"@timestamp": {
"lte": 1467811620000,
"gte": 1467811520000
}
}
},
"must_not": {
"term": {
"_type": "bus-api"
}
}
}
}
}
}
}
这将返回这两次之间的所有文件,不包括bus-api
类型的文件。
也许你可以通过[bool query]完成这个操作(https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html) – yuan
Hi @M_M if答案已经解决了你的问题,请考虑接受它。这向更广泛的社区表明您已找到解决方案。但是没有义务这样做。 – baudsp