Как я могу получить отдельные записи из Elasticsearch - PullRequest
0 голосов
/ 11 октября 2018

Я работаю над Elasticsearch (ES) последние пару недель.В настоящее время в разных поисковых индексах ES содержатся миллионы записей.

Я заметил, что в разных поисковых индексах есть дублирование записей, и это создает проблему.

Мы можем искать дубликаты записей с помощью кода и удалять эти записи.Может быть, это может быть применимо, но у меня есть более 100 миллионов записей, поэтому это займет много времени.

Мое требование: пока мы выбираем записи из ES, мы можем применять различные фильтры.Есть ли какой-нибудь фильтр или способ, которым мы можем получать только отдельные записи?В настоящее время я использую REST API с использованием PHP.

Вот код, который я сейчас использую, и фильтры работают отлично.

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

Я также пытался найти что-то из " Aggregations ", но не смог найти что-то связанное с моим требованием.

Быстрая помощь будет высоко оценена.

Заранее спасибо.

1 Ответ

0 голосов
/ 11 октября 2018

Я думаю, что вы ищете "рушится".

Elasticsearch поддерживает его с 6.x:

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...