lucene - elasticsearch查询缺少过滤器

标签 lucene elasticsearch

这是我第一次使用'missing'参数,并且我不确定我做错了什么,因为我没有得到我期望的结果。

有人可以告诉我此查询中是否正确整合了缺少的条件吗?它应创建5个构面,每一个构面仅计算“未在索引中设置”小数纬度字段或其值为null的出现次数。

curl -XGET http://my_url:9200/idx_occurrence/Occurrene/_search?pretty=true -d '{
    "filter": {
        "missing": {
            "field": "decimallatitude",
            "existence": true,
            "null_value": true
        }
    },
    "query": {
        "query_string": {
            "fields": ["dataset"],
            "query": "3",
            "default_operator": "AND"
        }
    },
    "facets": {
        "test": {
            "terms": {
                "field": ["kingdom_interpreted"],
                "size": 5
            }
        }
    }
}
'

最佳答案

正如您在Search API - Filter页面上看到的那样,该过滤器将应用于查询结果,但不会应用于方面。要使其适用于构面,请尝试使用Filtered Query代替

curl -XGET http://my_url:9200/idx_occurrence/Occurrene/_search?pretty=true -d '{
    "query": {
        "filtered": {
            "filter": {
                "missing": {
                    "field": "decimallatitude",
                    "existence": true,
                    "null_value": true
                }
            },
            "query": {
                "query_string": {
                    "fields": ["dataset"],
                    "query": "3",
                    "default_operator": "AND"
                }
            }
        }
    },
    "facets": {
        "test": {
            "terms": {
                "field": ["kingdom_interpreted"],
                "size": 5
            }
        }
    }
}
'

关于lucene - elasticsearch查询缺少过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12799123/

相关文章:

java - 转义 Lucene 不起作用

lucene - 我们可以定制Solr中嵌入的Lucene吗?

java - Hibernate 搜索与循环关系

java - Lucene updateDocument不删除文档

elasticsearch - Elasticsearch批量或搜索

ElasticSearch:在具有复杂对象的数组中查找多个唯一值

elasticsearch - 术语聚合的唯一计数

elasticsearch - 如何在 Elastic High Level Rest Client 中使用 search_after 进行分页

c# - 使用 Nest 字段提升的查询不会从 Elasticsearch 返回任何结果

elasticsearch - 如何从Elasticsearch中找到最常用的查询?