2014-01-16 3 views
0


이름 (문자열), 시작 버전 (int), 끝 버전 (int)으로 수백만 개의 문서가 있습니다. 버전> = "버전을 시작"버전 = "최종 버전"Solr의 범위 쿼리

위의 쿼리를 실행 (50)을했다 < 모든 문서를 선택
:

나는 쿼리에 응답하는 효율적 모든 레코드를 쿼리해야 -100 ms이고 각 버전에 태그를 지정하여 비슷한 쿼리를 수행하는 데는 15 ms 밖에 걸리지 않았습니다.

제 질문은 Solr이 이러한 쿼리를 얼마나 효율적으로 처리 할 수 ​​있습니까?
다른 대안을 환영합니다.
필드 값/유형은 필요한 경우 변경할 수 있습니다.

+0

"풀 스캔"(solr 범위)이란 정확히 무엇을 의미합니까? 그리고 어떻게 "전체 검사"가 있다는 것을 측정 했습니까? – rchukh

답변

0

Solr보다 훨씬 뛰어난 솔루션을 찾지 못했다고 생각합니다. 당신이 설명하는 시나리오는 Solr의 목표 시나리오 중 하나입니다. 진행 방법을 결정하기 전에 다음 사항을 확인합니다.

  • 특정 필드에 색인이 있는지 확인하십시오. 구성 파일을 사용하여 Solr에서 색인을 보거나 정의 할 수 있습니다. Schema.xml 파일에 색인을 추가합니다. SolrConfig.xml에서 인덱스의 낮은 수준의 동작을 정의 할 수도 있습니다.

  • caching이 활성화되어 있는지 확인하십시오. 이로 인해 실제 사용 시나리오가 실제로 가속화 될 수 있습니다. SolrConfig.xml에서 각 설정을 변경할 수 있습니다.

  • 위의 검사/변경 후에도 Solr 성능이 만족스럽지 않으면 일부 NoSQL 데이터베이스 솔루션을 확인합니다. 아마도 mongoDB은 전체 색인 지원을 제공하는 문서 지향형 저장소로서 더 나은 성능을 제공 할 수 있습니다.

희망이 있습니다.