Проблемы с сортировкой по полю после обновления в ElasticSearchPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Проблемы с сортировкой по полю после обновления в ElasticSearch

Сообщение Anonymous »


Каждую ночь я вставляю свои данные в elasticsearch, используя PHP с массовой вставкой. В течение дня, когда пользователи обновляют информацию, я обновляю каждый результат индивидуально, но после обновления появляется проблема. Результаты, которые были обновлены позже, не сортируются одинаково с остальными, но отображаются после этого.

У меня есть поле «цена» типа «двойной». Когда я создаю массив для массовой вставки, я специально говорю, что тип цены будет двойным:

$result['price'] = (double) $result['price'];

Результаты попадают в мой индекс эластичности, и все в порядке. Сортировка по цене работает отлично. Проблема после обновления. Я не использую массовое обновление и обновляюсь по одному:

$this->getClient()->update($params);

Опять я анализирую поле как «double», прежде чем отправить его в эластичный файл, но здесь возникает проблема. При сортировке по цене вся информация, которая была обновлена ​​позже, идет после всех результатов.

Например. Мои исходные данные были:

элемент1 | 10$ элемент2 | 11$ элемент3 | 15$ элемент4 | 25$ элемент5 | 30$ элемент6 | 40$

После обновления item1 и item4 будет:

пункт2 | 11$ элемент3 | 15$ элемент5 | 30$ элемент6 | 40$ элемент1 | 10$ элемент4 | 25$

Я думаю, что elastic делает что-то другое во время массовой вставки и в единственном числе.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»