@GuF_2019

Как программно уйти от ошибки key too large to index в pymongo python?

У меня база на 2 млн. записей. Когда я создаю индекс поле(db.coll.create_index(...)),у меня выскакивает ошибка данного типа:key too large to index, failing 1098.Видимо при построении индекса не влезло какое-то название.Подскажите как программно через pymongo или обойти это, либо увеличить размер принимаемых ключей в индексе?
  • Вопрос задан
  • 71 просмотр
Пригласить эксперта
Ответы на вопрос 1
WinPooh32
@WinPooh32
Stack Overflow answer searching expert
Костыльным решением вашей проблемы будет хеширование.
1) Перед вставкой хешируете свои ключи c помощью некритографического алгоритма.
2) При поиске по ключу делаете то же самое.

При таком походе есть вероятность подорваться на коллизиях. Можно умешить вероятность, сделав составной ключ.

Очевидно, что для ключа потребуется новое поле.
А лучше выберете более адекватные атрибуты в качестве ключа.

UPD: у монги есть индексы на хешах.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы