대용량 데이터 집합에서 "선행 자동 완료"를 구현하는 방법에 대해 기술에 의존하지 않는 질문으로 생각하는 .NET WinForms/ASP.NET 개발자입니다. 누군가가 참조 구현이나 자세한 설명에 날 지점 수 있다면, 그것은 좋은 것입니다,하지만 여기 내 질문은 :대형 데이터 집합에 대한 선행 자동 완성을 구현하는 데 사용되는 전략은 무엇입니까?
아마도, 사용자 및 일부 간격 후, 클라이언트가 데이터를 서버에 요청 타이핑 시작 앞서 유형을 수행합니다. 그 간격이 얼마나 길다는 경험 법칙이 있습니까? 검색 할 데이터 세트가 커질수록이 규칙이 변경됩니까? 사용자가 다시 입력을 시작했지만 이전 쿼리가 데이터 세트의 크기 때문에 완료되지 않은 경우 어떻게해야합니까?
데이터 집합을 가져 오는 데 사용되는 쿼리 전략은 무엇입니까? 분명히 쿼리는 비동기 적이어야하지만 단순히 SQL "% 검색 용어 %"가 아닌가? 어떤 텍스트 매칭 전략이 사용됩니까? 데이터 집합이 얼마나 엄격하게 캐시됩니까? 캐시하기에 너무 큰 경우 어떻게해야합니까?
씩 클라이언트 데스크톱 응용 프로그램 대 AJAX를 사용하는 웹 클라이언트에 대해 이야기 할 때 고려해야 할 전략은 무엇입니까?
특정 시점에서 필자는 특정 .NET 구현을 살펴볼 것이지만이 단계에서는 전략에 더 관심이 있습니다.
3 개의 문자가 유용한 규칙이지만 검색하기 전에 사용자가 다시 입력을 시작하면 어떻게됩니까? – flipdoubt
큰 결과 집합을 반환하고 클라이언트 쪽에서 마지막 응답 이후에 입력 한 문자가있는 하위 집합으로 필터링 할 수 있습니다. 자동 완성이 응답하는 것보다 빠르게 타이핑하고 타이핑하는 경우 항상 서버가 제공 한 제안 이외의 방법으로 수정하면 자동 완성 기능이 도움이되지 않습니다. – jball