2012-10-25 5 views
2

저는 2 백만 개의 제품이 있고 50 개의 다른 가격 체계를 가진 프로젝트를 진행하고 있습니다. 2M X 50 레코드의 인덱싱은 현재 옵션이 아닙니다. 나는 solr 조인을 보았고, 내가 원하는 방식으로 작동시키지 못한다. 나도 자기 조인 같아서 일종의 회의론자 일 뿐이지 만 어쨌든 여기에있다. 제품 리로 - -Solr Join - 다른 색인에서 데이터 가져 오기

그래서 클라이언트 ID를 해당 클라이언트, 내가 최저 가격으로 분류 쌤소 나이트에서 제조 한 모든 가방을 표시하고 싶어 여기

는 core0

샘플 스키마를합니다.

더 나은 접근 방법이 있다면 흥미로운 스키마를 다시 디자인 할 수 있습니다.

미리 감사드립니다.

+0

사용 사례를 이해하지 못합니다. 이 경우 고객이 제품과 어떤 관련이 있습니까? 그것이 내게 들리는 방식으로 고객 ID를 잊어 버리고 다음과 같은 검색을 수행한다고 말합니다. q = "제조업체 : Samsonite"sort = "가격 오름차순" – femtoRgon

+0

고객이 제품을 검색하려면 로그인해야하므로 가방 용 보통 10 달러에 판매되는 X, 클라이언트 A의 가격은 9 달러, 클라이언트 B는 9.5 달러가 될 수 있습니다. 검색이 최저/최고 가격순으로 정렬되는 시나리오에서 효과가 있기 때문에 기본 가격을 사용하여 검색 할 수는 없습니다. – Jose

답변

1

Solr은 관계형 데이터베이스가 아닙니다. sharding 기능을보고 색인을 분할해야합니다. 또한 사용자 정의 플러그인을 작성하여 색인 시간에 클라이언트의 ID/이름/값을 기반으로 가격 데이터를 작성할 수 있습니다 (BAD). 각 클라이언트에 대해 복제 된 제품이 계속 제공됩니다.

우리가 어떻게 (그래서 당신은 예를 얻을 수 있습니다) :

  • 클라이언트는 "기본"가격
  • 각 클라이언트는 "가격을 가지고와 SOLR에 저장된 SQLite는
  • 제품에 의해 처리됩니다 규칙 "db (단지 값 변경자)를 조사 할 때 사용자 정의 쿼리 처리기를 통해 적용
관련 문제