У нас есть php-приложение, у которого есть огромная база данных Mysql и индекс поиска Solr (с SolrPhpClient).Обновить или удалить данные из индекса Solr?
Прежде чем обновлять наш индекс (через Cron), мы удаляем все предметы, которые на данный момент отсутствуют. И только мы выбираем элементы из Mysql (на складе) и добавляем эти данные в Solr.
У меня есть идея, что существующий способ обновления нашего индекса поиска слишком дорог для производительности приложения. На самом деле мы переиндексируем все эти элементы (мы используем некоторые фильтры в схеме для русского слова stemning, нижний регистр и т. Д.), Вместо того, чтобы оставлять предметы вне запаса в индексе с флагом (inStock = 1).
В будущем, я полагаю, у нас будет более 100 000 позиций (возможно, больше) в индексе. Таким образом, этот способ обновления сделает наш индекс слишком медленным, а загрузка сервера слишком высока.
Не могли бы вы рассказать мне свои идеи об этой проблеме с позиций обновления индекса и выбора данных из него?
Спасибо за внимание ...
Что такое "100 000 позиций"? Вы имеете в виду 100000 документов в индексе? –
Пожалуйста, проверьте, помогает ли ответ на этот вопрос. http://stackoverflow.com/questions/1555610/solr-dih-how-to-handle-deleted-documents –
2 Mauricio - Да, каждая строка в импортирующей таблице mysql является одним документом в нашем индексе Solr. –