elasticsearch查询中的多个类型和索引

时间:2012-12-10 14:37:52

标签: elasticsearch

我有一个像这样的查询,它在php中,使用elastica库

$queryDefinition = [
        'query' => [
            'bool' => [
                'must' => [
                    [
                        'query_string' => [
                            'default_field' => '_all',
                            'query' => $term
                        ]
                    ]
                ],
                'must_not' => [],
                'should' => []
            ]
        ],
        //'from' => 0,
        //'size' => 50,
        'sort' => [],
        'facets' => [
            'types' => [
                    'terms' => ['field' => '_type']
                ]
            ]
    ];

我知道你可以使用REST api对多个索引和类型运行查询。

我想针对类型和索引的变量计数运行上述查询。是否可以使用json查询样式?

如果不是如何将该查询转换为REST样式?

感谢

1 个答案:

答案 0 :(得分:0)

以下是curl的一个示例 - 其中sales是我的索引,order是我的类型(如果你需要多种类型,请使用逗号分隔值,如../sales/order,order1/_search ..),我用了3个字段来自我的数据,即id,名称和状态,以及名称上的查询字符串,如'shoh'

curl -XGET 'localhost:9200/sales/order/_search?pretty=1' -d '
{
  "query":
  {
     "bool":
     {
       "must":[{"query_string":{"query":"shoh*"}}]
     }
 },
 "fields":["id","name"],
 "facets":{"Facet Result":{"terms":{"field":"status"}}}
}
'