Мышление Сфинкс - Индекс Roats Каждый раз, когда модель обновляется или создается, как остановить? - PullRequest
0 голосов
/ 28 ноября 2009

Каждый раз, когда я создаю или обновляю модель в своем приложении 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)?

1 Ответ

0 голосов
/ 28 ноября 2009

Это происходит, только если у вас включена дельта-индексация. Если вам не нужен полностью обновленный Sphinx, просто отключите дельты в блоке define_index.

Если вы делаете хотите, чтобы ваши обновления отображались в результатах поиска, вам придется с этим смириться или переключиться на отложенные дельты, что означает использование отложенного задания для обработки дельта-индексов. Это устраняет снижение производительности при каждом веб-запросе и позволяет отложенному заданию выполнять обработку за вас.

Все это довольно хорошо описано в документации , но не стесняйтесь публиковать в t он google group , если вы застряли или что-то не имеет смысла.

...