2014-08-27 6 views
0

Input and Output DataSOLR 쿼리 - 쓰기 SOLR 쿼리

입력 데이터 (왼쪽 표)의 도움이 필요 세 개의 열, 즉 날짜, 서비스 유형 및 고객 ID가 포함되어 있습니다. 두 개의 오른쪽 테이블은 서로 다른 시간 범위에 대한 Solr 쿼리의 출력 예입니다.

이 범주 중 하나에 속하는 고객 수 (유료 서비스 1 개, 유료 서비스 2 개, 유료 서비스 3 개 ...)가 필요합니다. 다른 기간의 유료 서비스. 2 샘플 출력은 오른쪽에 표시됩니다. 또한 이해를 돕기 위해 고객 ID는 출력 옆에 표시되지만 고객 ID는 실제 출력의 일부가 아닙니다.

Solr 쿼리는 다른 달의 행을 선택하기 위해 날짜 범위를 사용할 수 있습니다.

어떻게 주어진 출력을 얻을 수 있습니까?

  1. 이 복잡한 쿼리에 사용할 입력 데이터에 파생 열을 추가해야합니까?
  2. Solr UDF가이 경우 도움이됩니까?

답변

0

나는 여기 당신이 무엇을 요구하고 있는지 확실하지 않습니다. 샘플 데이터는 매우 유용합니다.

그러나 패싯 및/또는 패싯으로 찾고있는 것을 할 수있는 것처럼 들립니다. 관심있는 날짜 범위에서 fq 필터를 실행 한 다음 고객/송장 또는 청구서/고객을위한 패싯 피벗을 얻을 수 있어야합니다.

+0

답장을 보내 주셔서 감사합니다. 위의 내용을 더 자세히 설명하기 위해 다음과 같이 편집했습니다. - "이 범주 중 하나에 속하는 고객 수 계산 - 1 개의 유료 서비스, 2 개의 유료 서비스, 3 개의 유료 서비스 ... - 다른 기간 동안의 유료 서비스." 위 이미지는 샘플 데이터를 보여줍니다. –

+0

@RohitSarewar Solr에서 데이터가 어떻게 보이나요? – user2630270

+0

위의 이미지에서 정확한 데이터를 공유했습니다. 이 외에도 정확히 무엇을 요구하고 있는지 이해해야합니다. 1) CSV 및 Schema.xml의 동일한 데이터 -이 시나리오를 복제 할 수 있도록 2) My Solr UI에서 동일한 데이터를 보여주는 스크린 샷. 회신 해주십시오. –

0

SOLR 패싯을 사용하여 원하는 결과를 얻을 수 있다고 생각합니다. 패싯 필드와 함께 facet.query를

facet.query=date:['Start date' TO 'End Date']&facet.field=customerId 

과 같이 사용하면 비슷한 결과를 얻을 수 있습니다.

facet.limit을 사용하여 결과 개수를 제한 할 수 있습니다.

+0

답장을 보내 주셔서 감사합니다. 그러나 서비스 유형 (유료 또는 무료)도 고려해야합니다. –

+0

Rohit, 귀하의 질문을 이해한다면 서비스 유형도 정상적인 태양열 쿼리와 같은 facet.query의 일부가 될 수 있습니다. – Ash