Мы пытаемся индексировать почтовые ящики, сидя поверх GMail, и используем API поиска App Engine, но мы достигаем предела в 10 ГБ. Это связано с тем, что мы индексируем электронные письма всей организации, чтобы мы могли выполнять поиск по почтовому ящику всей команды. Как мы можем обойти это? Один из способов может заключаться в том, чтобы иметь индивидуальный индекс для каждого человека и каким-то образом объединять результаты вручную, но опасаюсь, что объединение результатов может быть очень сложным! Интересно, какие варианты доступны?
Как устранить ограничение в 10 ГБ в Google App Engine?
Ответы (2)
Это типичная проблема в любой системе поиска документов, и решение состоит в том, чтобы разбить весь корпус на несколько сегментов. Вы должны выбрать стратегию нарезки, основанную на ваших требованиях/шаблоне использования.
Одна из возможностей состоит в том, чтобы нарезать сообщения по их дате. Вы продолжаете добавлять сообщения в индекс, пока не приблизитесь к пределу, после чего вы начинаете новый индекс для более новых сообщений. Или вы можете сделать это по календарным интервалам (в год, в квартал или в месяц, в зависимости от вашего объема).
Объединение результатов нескольких индексов очень просто. Вы также можете дать пользователям возможность выбрать, как далеко назад во времени они хотят отправиться в своем поиске. Часто люди знают, что ищут что-то недавнее или что-то, что произошло давным-давно.
Отправьте запрос функции:
https://code.google.com/p/googleappengine/wiki/FilingIssues?tm=3
Это тоже было в файле, поэтому, возможно, пометьте его: https://code.google.com/p/googleappengine/issues/detail?id=10667