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

StackOverflow https://stackoverflow.com/questions/1810871

Вопрос

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top