Мышление Сфинкс - Индекс Roats Каждый раз, когда модель обновляется или создается, как остановить?
-
06-07-2019 - |
Вопрос
Каждый раз, когда я создаю или обновляю модель в своем приложении Rails, из Sphinx происходит следующий вывод:
Sphinx 0.9.8.1-релиз (r1533) Copyright (c) 2001-2008, Андрей Aksyonoff
используя конфигурационный файл '/Users/jason/development/projects/active/project/config/development.sphinx.conf' ... Индексирование индекса 'ad_delta' ... собрано 17 документов, 0,0 МБ собрано 0 значения отсортированы 0,0 Mvalues, 100,0% сделано отсортировано 0.0 Mhits, 100.0% выполнено всего 17 документы, всего 944 байта, 3,827 с, 246,69 байт / с, 4,44 документа в секунду: вращающиеся индексы: успешно отправлено SIGHUP для поиска (pid = 10655).
, что сильно сказывается на производительности. Р>
Есть ли какой-нибудь способ предотвратить это со сфинксом (inking_sphinx)?
Решение
Это происходит, только если у вас включена дельта-индексация. Если вам не требуется полностью обновлять Sphinx, просто отключите дельты в блоке define_index
.
Если вы действительно хотите, чтобы ваши обновления отображались в результатах поиска, вам придется либо согласиться с этим, либо переключиться на отложенные дельты, что означает использование отложенного задания для обработки дельта-индексов. Это устраняет снижение производительности из каждого веб-запроса и позволяет отложенному заданию выполнять обработку за вас.
Все это довольно хорошо освещено в документации , но вы чувствуете бесплатно отправлять сообщения в группу Google , если вы застряли или что-то не так имеет смысл.