Thinking Sphinx를 사용하여 43,000 개의 레코드가있는 단일 테이블을 인덱싱합니다. 색인을 생성하려고하면 프로세스가 매우 느리게 실행되어 36,000 회 이후에 고정됩니다.인덱싱하는 동안 스핑크스가 응답하지 않는다
데이터에 문제가있는 것으로 가정하고 어떤 인덱스가 문제를 일으켰는지 알아 내려고했습니다. 11 개의 색인을 제외한 모든 색인을 제거한 후에도 오류가 계속 표시됩니다. 그러나 여기에 논점이 있습니다 : 어떤 단일 색인도 범인이 아닌 것처럼 보입니다. 마지막 11 개 중 하나를 제거하면 프로세스가 중단되지 않고 완료됩니다. 다시 추가하면 문제가 다시 발생합니다. (비록 내가이 인덱스 중 하나를 제거하면 프로세스가 여전히 39,000에서 많이 느려지는 것을 알았지 만)
그래서 지금 당황 스럽습니다. 나는 램과 디스크 공간을 많이 가지고 있기 때문에 문제가되지 않습니다. sql_range_step을 15000으로 설정하고 mem_limit를 2047M으로 설정했습니다. 아무것도 도움이되지 않습니다.
define_index do
indexes :email
has :id, :as => :code
has :premium_school_id
has :current_employer_account_id
has :years_experience_id
has :user_status_id
has practice_areas(:id), :as => :practice_area_ids
has languages(:id), :as => :language_ids
has preferred_employer_types(:id), :as => :preferred_employer_type_ids
has geographical_regions(:id), :as => :geographical_region_ids
has workflow_events(:id), :as => :workflow_event_ids
end
모든 아이디어를 환영합니다 :
다음은 인덱스 내 깎았 다운 목록입니다.