문제
도움말 데이터베이스를 검색하고 관련 결과를 반환하는 도움말 페이지에서 실시간 검색이 있습니다. 더 많은 문서가 필요한 것을 결정하는 좋은 방법은 데이터베이스에 결과를 반환하지 않는 검색을 기록하는 것입니다.
일반적으로 이것은 정말 간단하지만, 그것이 실시간 검색이라는 사실은 조금 더 까다로워졌습니다.
그래서 누군가가 검색 할 때 :
- 이 검색은 결과가 없습니다.
라이브 검색이기 때문에 다음을 검색합니다.
- 이 s
- 이 검색 r
- 이 검색은 n을 반환합니다
- 이 검색은 결과가 없습니다.
분명히 우리가 부분이 아닌 전체 문구 만 기록 할 수 있다면 가장 좋을 것입니다.
그래서 지금은 모든 검색을 다음과 같은 테이블에 버리고 있습니다.
내가 생각할 수있는 유일한 방법은
테이블에 새 행을 추가하기 전에 테이블의 검색에 대한 검색 문자열의 검색과 같은 작업을 수행하고 매치가 카운트를 삽입하거나 증가시키지 않는 경우. 그러나 나는이 테이블이 정말로 커질 것으로 기대하며, 그런 쿼리는 정말 느려질 것으로 기대합니다.
입력 값이 2 초 안에 변경되지 않은 경우 JavaScript를 작성하십시오. 미스 인 경우 로그인하는 플래그로 특별 라이브 검색을 보내십시오.
이것을 처리하는 더 좋은 방법이 있어야하지만 나는 무엇이든 블랭킹하고있는 것 같습니다. 어떤 아이디어?
해결책
나는 당신이해야 할 일이 임시 (더 빠른 피드백이 필요한 경우 1 시간 또는 시간에) 후보자 '누락 된'검색 테이블을 사용하는 것입니다. 테이블의 수명이 끝나면 다른 누락 된 검색의 접두사 또는 성공적인 검색의 검색이 무시되도록 후 처리됩니다. 나머지는 '실제'누락 된 검색 테이블에 들어갑니다.