문제

도움말 데이터베이스를 검색하고 관련 결과를 반환하는 도움말 페이지에서 실시간 검색이 있습니다. 더 많은 문서가 필요한 것을 결정하는 좋은 방법은 데이터베이스에 결과를 반환하지 않는 검색을 기록하는 것입니다.

일반적으로 이것은 정말 간단하지만, 그것이 실시간 검색이라는 사실은 조금 더 까다로워졌습니다.

그래서 누군가가 검색 할 때 :

  • 이 검색은 결과가 없습니다.

라이브 검색이기 때문에 다음을 검색합니다.

  • 이 s
  • 이 검색 r
  • 이 검색은 n을 반환합니다
  • 이 검색은 결과가 없습니다.

분명히 우리가 부분이 아닌 전체 문구 만 기록 할 수 있다면 가장 좋을 것입니다.

그래서 지금은 모든 검색을 다음과 같은 테이블에 버리고 있습니다.

내가 생각할 수있는 유일한 방법은

  • 테이블에 새 행을 추가하기 전에 테이블의 검색에 대한 검색 문자열의 검색과 같은 작업을 수행하고 매치가 카운트를 삽입하거나 증가시키지 않는 경우. 그러나 나는이 테이블이 정말로 커질 것으로 기대하며, 그런 쿼리는 정말 느려질 것으로 기대합니다.

  • 입력 값이 2 초 안에 변경되지 않은 경우 JavaScript를 작성하십시오. 미스 인 경우 로그인하는 플래그로 특별 라이브 검색을 보내십시오.

이것을 처리하는 더 좋은 방법이 있어야하지만 나는 무엇이든 블랭킹하고있는 것 같습니다. 어떤 아이디어?

도움이 되었습니까?

해결책

나는 당신이해야 할 일이 임시 (더 빠른 피드백이 필요한 경우 1 시간 또는 시간에) 후보자 '누락 된'검색 테이블을 사용하는 것입니다. 테이블의 수명이 끝나면 다른 누락 된 검색의 접두사 또는 성공적인 검색의 검색이 무시되도록 후 처리됩니다. 나머지는 '실제'누락 된 검색 테이블에 들어갑니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top