我正在使用带有查询match_all和过滤的elasticsearch。在我的情况下,我想应用常规过滤器和按条件过滤器。
这里是伪的:
请参阅以下代码。如果“组”字段存在,我只想应用“组”过滤器!在这种情况下,“存在”过滤器不会生效。
"query":
{
"filtered":
{
"query":
{
"match_all": {}
},
"filter":
{
"bool":
{
"must":
{
"range":
{
"date": {
"from": "2015-06-01",
"to": "2015-06-30"
}
}
},
"must_not":
{
"term":
{
"e.state": 0
}
}
}
},
"filter":
{
"bool":
{
"must":
{
"exists": {"field": "groups"},
"filter":
{
"bool":
{
"must":
{
"term": {"groups.sex": "w"}
},
"should":
{
"terms": {"groups.categories.id": [7,10]}
}
}
}
}
}
}
}
}
}
试试这个
{
"query": {
"filtered": {
"query": {
"match_all": {}
},
"filter": {
"bool": {
"must": [
{
"range": {
"date": {
"from": "2015-06-01",
"to": "2015-06-30"
}
}
},
{
"bool": {
"should": [
{
"missing": {
"field": "groups"
}
},
{
"bool": {
"must": {
"term": {
"groups.sex": "w"
}
},
"should": {
"terms": {"groups.categories.id": [7,10]}
}
}
}
]
}
}
],
"must_not": {
"term": {
"e.state": 0
}
}
}
}
}
}
}
我从事elasticsearch,我尝试混合两个工作查询。第一个是“and filter”,第二个是“bool filter”,但我失败了。 我的查询是从用户交互界面动态生成的。 “和过滤器”: 我需要“和过滤器”来查询数据,例如,字段必须等于“非洲”或“亚洲”或为空。这是一个工作查询的示例: 此查询工作正常,结果如下: 现在我需要用字段“D\u TYPESTATUS”来限制结果数据,该字段必须与
问题内容: “过滤后的查询和过滤器”与“根查询和过滤器”之间有什么区别吗?例如 情况1: 情况2: 我在http://elasticsearch-users.115913.n3.nabble.com/Filtered-query-vs-using- filter-outside-td3960119.html中 找到了此讨论,但所引用的URL是404,并且解释过于简洁我。 请示教或提供指出这些区别的
如果我有一个清单,比如说 我如何才能获得一个名字不同的年龄最大的学生名单?在C#中,使用system.linq GroupBy然后比较,然后用select进行扁平化,这将非常简单,我不太确定如何在Java中实现同样的功能。
问题内容: 我已经将我的Elasticsearch从v1.9升级到v5,并且我注意到很多事情已经改变。 如果我以v1.9为例:以下代码检查对象类型是否匹配,并过滤其中字段为的项目。 现在,从v1.9升级到v5后,我注意到已更改为和现在。现在,由于不再可用,我无法执行与以前相同的操作。 所以我想知道是否有替代解决方案来检查对象类型。 https://i.stack.imgur.com/dOPex.p
问题内容: 我正在尝试使用Pandas在几个条件下进行布尔索引。我原来的DataFrame称为。如果执行以下操作,将得到预期的结果: 但是,如果我这样做(我认为应该是等效的),则不会返回任何行: 知道导致差异的原因是什么? 问题答案: 使用是因为运算符优先级: 或者,在单独的行上创建条件: 样品 :
问题内容: 我想像这样做一个ElasticSearch查询: 我试图像这样在NEST中实现它: 但这给了我这样的查询,其中的过滤器包装在 布尔值中 : 我应该如何更改我的NEST代码以提供正确的查询?是否必须将我的条款添加到 QueryContainer之外的 其他项目中? 问题答案: 如果要检查条件过滤器,可以在查询之前创建过滤器列表,如下所示: 如果在进行过滤器查询之前不需要检查任何条件,则可