2012-10-14 2 views
0

나는 Solr을 매우 신중하게 생각합니다. 이해가 안되는 것을 말하면 알려주세요.아파치 Solr - DB 테이블 인덱싱

저는 최근에 Solr 4.0 베타를 설정했고 꽤 잘 작동하고 있습니다. MySQL DB에서 뷰를 읽는 DIH로 설정됩니다. 이 뷰에는 약 2,000 만 개의 행과 16 개의 열이 있습니다. 많은 수의 열은 많은 NULL 값을 가지고 있습니다. DB의 성능은 매우 뛰어납니다. 쿼리를 수동으로 실행할 때 뷰에 대해 2 초 미만의 쿼리 시간이 나타납니다.

나는 Solr을 뷰에서 가리키고 인덱스 프로세스를 시작했습니다. 나는 그것을 확인하기 위해 4 시간 후에 돌아 왔고, 여전히 색인을 생성 할뿐만 아니라 2 억 개 이상을 가져 오는 것으로보고했음을 발견했다.

저는 Solr의 작동 방식을 잘못 이해하고 있습니까? DB에있는 행 수와 동일한 수의 행을 가져 오는 가정하에있었습니다.이 행 수는 약 2 천만입니다. 아니면 실제로 가져온 항목으로 각 필드를 계산합니까? 또는 더 나쁜 것은, 그것은 어떤 종류의 루프에 있습니까?

쿼리를 100,000 개의 레코드로 제한하여 동일한 뷰에서 작은 하위 데이터 집합으로 일부 테스트를 수행했습니다. 완료되면, 그것은 정확하게 10 만을 가져온 것으로보고합니다. 로그에서 경고/오류가 발생하지 않습니다.

무슨 일이 일어나고 있는지 아이디어가 있습니까?

답변

0

숫자는 db 단위의 행을 나타냅니다. db-data-config.xml 파일을 게시 할 수 있습니까? 나는 당신이 당신의 SQL을 다시 점검해야한다고 생각한다.