2012-04-11 5 views
0

몇 가지 다른 공급자의 WS 요청을 통해 얻은 결과가있는 경우 결과를 수집하여 사용자에게 표시합니다.검색 결과 페이지 매김, 모범 사례

결과의 수는 0에서 60-70 사이이고 평균은 10-20입니다. 내 문제는 : 페이지 매김을 처리하는 방법입니까? 나는 여러 가지 방법을 찾아 냈기 때문에 어느 상황에서 가장 좋은 해결책인지 알아 내려고 노력하고 있습니다 ... 그리고 다른 좋은 (아마도 더 좋은) 해결책을 놓치고 있다고 확신합니다 ... 해결책 지금까지 생각 :

1) WebServices를 통해 각 페이지 (15 결과)에 대해 새로운 집계 검색을 만듭니다. 이것은 바보 같지만 평균 결과 수가 10-20이므로 페이지 매김이 자주 사용되지 않습니다. 데이터베이스에

2) 저장 모든 임시 캐시로 결과 다음 시간

3) 한 페이지에 모든 결과를로드하지만, JQuery와 페이지 매김 플러그인을 사용하여 15 페이지를 표시에서 15 개 결과를 보여주는 (클라이언트 측?)

답변

1

1 개의 결과가 얼마나 큰가에 따라 다르지만 최대 60-70 개의 결과가있는 경우 페이지 매김을 선호하지 않습니다. 특히 자주 사용하지 않는 경우 특히 그렇습니다. 사용자 환경 개선.

+0

결과는 단지 60-70 개이지만 각 결과는 몇 줄에서 절반 정도 밖에 걸릴 수 없으므로 결과 페이지가 10-15 개 이상의 결과로 매우 길어질 수 있습니다. – alessiop86

1

언젠가 웹 서비스가 더 많은 결과를 반환하지 않을 것이라고 확신하십니까? 언젠가 우연히 동일한 결과의 50,000 부본을 돌려주는 버그가 언젠가는 그들 중 하나에 있다면? 솔루션의 각 :

  1. 결과의 예상 번호를 당신이 그들을 통해 사용자 페이지로, 같은 결과에 대한 반복 요청을 웹 서비스를 스팸 발생할 것보다 더 큰.

  2. 예상보다 많은 수의 결과가 데이터베이스에서 임시로 공간을 차지하게됩니다. 또한 웹 응용 프로그램에서 캐시를 지우는시기를 어떻게 알 수 있습니까?

  3. 예상보다 큰 결과는 사용자의 브라우저에서 거대한 페이지로 끝나며, 모든 것이 다운로드 될 때까지 올바르게 렌더링되지 않을 수 있습니다.

은 정말 캐싱은 데이터가 원하는 한 장소에서 이루어집니다 옵션 3. 웹 서비스에는 중복 히트가없는, 그리고 페이징은 누구나 슈퍼 빠른 것입니다.

실제 결과가 60-70 개만 반환되거나 사용자가 실제로 많은 결과를 원하지 않는다고 확신하는 경우 3 번 옵션을 결합 할 수 있습니다. 결과가 반환됩니다.

웹 서비스가 잘못된/예기치 않은 결과를 반환하는 최악의 경우조차도 첫 번째로 많은 것을 잘라내어 브라우저로 보내고 JavaScript로 페이지 번호를 매길 수 있습니다.