큰 마이그레이션을 실행 중이고 델타 인덱싱을 사용하지 않도록 설정하여 훨씬 빠르게 실행됩니다.Thinking Sphinx에서 델타 색인 생성을 일시적으로 비활성화 할 수 있습니까?
델타 인덱싱을 끄기 위해 작업 시작 부분에 지정할 방법이 있습니까?
큰 마이그레이션을 실행 중이고 델타 인덱싱을 사용하지 않도록 설정하여 훨씬 빠르게 실행됩니다.Thinking Sphinx에서 델타 색인 생성을 일시적으로 비활성화 할 수 있습니까?
델타 인덱싱을 끄기 위해 작업 시작 부분에 지정할 방법이 있습니까?
두 가지 옵션 : 현재 상황에서 더 나은 될 것인가
Model.suspended_delta do
# all actions in the block don't fire a delta request
end
# A single delta request gets fired at the end
또는 :
ThinkingSphinx.deltas_enabled = false
그리고 작업이 완료되면 다시 true
로 설정합니다. 나는라는 인덱스 작업이라는 모델 그래서 만약
ThinkingSphinx::Deltas.suspend(:index_reference) do
# Do something
end
: 작업을, 그것의 모습
스핑크스 v3의 생각을 들어, 델타을 (옛날 방식이 더 이상 사용되지 않습니다)이 방법을 일시 중단 할 수 있습니다 이 :
ThinkingSphinx::Deltas.suspend(:job) do
# Do Something
end
미세한 레벨에서 작업을 제어하고 싶다면'ThinkingSphinx :: Deltas.suspend! '와'ThinkingSphinx :: Deltas.resume!'메소드가 있지만, 이후 모델에 대한 델타 인덱싱은 자동으로 실행되지 않습니다. – pat
우수! 고맙습니다. –
FYI : 이전 버전의 ts입니다. 최신 버전에 대한 답변은 아래를 참조하십시오. – troelskn