如何从Elasticsearch获取不同的记录

时间:2018-10-11 06:55:21

标签: php elasticsearch

最近两周我一直在研究Elasticsearch(ES)。 ES中不同搜索索引中目前存在数百万条记录。

我注意到,在不同的搜索索引中,记录重复,这在造成问题。

我们可以通过代码搜索重复的记录并删除这些记录。也许这可能适用,但是我有超过1亿条记录,因此需要很多时间。

我的要求是,当我们从ES获取记录时,我们可以应用不同的过滤器。有什么过滤器或方法我们只能获取不同的记录?我目前正在使用PHP的REST API。

这是我当前正在使用的代码,并且过滤器运行正常。

$params = [
    'index' => 'MyIndex',
    'type' => 'MyType',
    'from' => 0,
    'size' => 10,
    'body' => [
        'query' => [
            'bool' => [
                'must' => [
                    [ 'match' => [ 'image' => true ] ],
                    [ 'simple_query_string' => [ 'query' => 'MyQuery' ] ]
                ]
            ]
        ]
    ]
];

我还尝试从“ Aggregations”中查找内容,但找不到与我的要求相关的内容。

我们将非常感谢快速帮助。

谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是“崩溃”。

Elasticsearch从6.x开始支持它:

https://www.elastic.co/guide/en/elasticsearch/reference/6.x/search-request-collapse.html

相关问题