如何仅针对一种类型的记录查询elasticsearch?

rju*_*ney 17 api dsl search schema elasticsearch

我正在向elasticsearch发出一个查询,我正在获得多种记录类型.如何将结果限制为一种类型?

imo*_*tov 22

以下查询将结果限制为类型为"your_type"的记录:

curl - XGET 'http://localhost:9200/_all/your_type/_search?q=your_query'

有关详细信息,请参阅http://www.elasticsearch.org/guide/reference/api/search/indices-types.html.


tik*_*and 14

您还可以使用查询dsl过滤掉特定类型的结果,如下所示:

$ curl -XGET 'http://localhost:9200/_search' -d '{
    "query": {
        "filtered" : {
            "filter" : {
                "type" : { "value" : "my_type" }
            }
        }
    }
}
'
Run Code Online (Sandbox Code Playgroud)

版本6.1更新:类型过滤器现在替换为类型查询:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-type-query.html 您可以在两个查询中使用它和过滤器上下文.

  • 在2.0.0-beta1中弃用.使用bool查询代替查询的must子句和过滤器的filter子句. (2认同)