【问题标题】:How can I fetch distinct records from Elasticsearch如何从 Elasticsearch 中获取不同的记录
【发布时间】:2018-10-11 06:55:21
【问题描述】:

过去几周我一直在研究 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”中查找某些内容,但找不到与我的要求相关的内容。

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

提前致谢。

【问题讨论】:

标签: php elasticsearch


【解决方案1】:

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

Elasticsearch 从 6.x 开始支持它:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    相关资源
    最近更新 更多