除非定义了类型,否则搜索不会返回结果

时间:2015-07-17 14:01:36

标签: django search elasticsearch

我对ElasticSearch很新,我决定将它用作我项目的搜索引擎。我正在研究本地ElasticSearch 1.5.0版本,一切正常:所有查询和过滤器都返回了正确的结果。 然后我切换到使用运行版本1.4.2的公司的ElasticSearch,因此过滤器不起作用。我们将ElasticSearch升级到版本1.6.0并再次运行。 在再次删除所有信息并将其编入索引后,查询将不再起作用。

如果我指定要查找的文档类型,则此查询可以正常工作:

GET /epg/program_elk/_search/
{
    "query": 
    {
        "bool": 
        {   
            "must": [
            {
                "bool": 
                {   
                    "should": [
                    {
                        "match": 
                        {
                            "title": "Simpsons"
                        }
                    }, 
                    {
                        "match": {
                            "original_title": "Simpsons"
                        }
                    }]
                }
            }, 
            {
                "match": 
                {
                    "category": 42
                }
            }
        ]}
    }
}

但是,如果我使用:

GET /epg/_search

哪个应该搜索索引中的所有类型,它不起作用。 提前谢谢。

0 个答案:

没有答案