자꾸 뭔가 생각이 나서 더 정리를 해야 겠습니다. 아래의 포스트에서 이어지는 내용입니다.
jSTEEM 서버에 포스트 캐쉬(cache)를 구성하는 방안에 대한 검토입니다.
일단 모든 계정에 대해 미리 포스트 캐쉬를 만들기는 무리이고, 검색을 처음으로 할 경우 해당 계정에 대해 포스트 캐쉬를 생성하고 이후 갱신하는 형태가 되어야 할 것으로 생각됩니다.
검색 결과를 가장 최근에 수정한 포스트부터 표시해 주어야 하므로 포스트 내용뿐만 아니라 시간 정보도 가지고 있어야겠습니다.
검색할 대상은 제목, 본문, 태그가 될텐데 각 항목별로 검색을 할 수 있도록 할 것인지 구분 없이 그냥 검색할 것인지, 그리고 이에 따라 구체적으로 어떤 식으로 구현할 것인지 검토가 필요합니다.
검색어는 일단 2개 이하로 생각하고 있습니다. 특정 계정이 작성한 포스트에서 3개 이상의 검색어로 찾아야 할 경우가 그리 많을 것 같지는 않네요. 최소한 저는 2개면 충분할 것 같습니다.
캐쉬를 구현할 때 DB를 사용할 것인지 텍스트 파일을 사용할 것인지도 결정해야 하는데, 수많은 사람이 동시에 대규모 데이터에 접근하는 상황은 아니므로 일단은 그냥 텍스트 파일을 사용해도 큰 문제 없을 것으로 생각됩니다. 리눅스 shell과 파이썬 둘 다 텍스트 검색/처리와 관련된 기능이 꽤 훌륭하기 때문에 텍스트 파일로 캐쉬를 구현해도 괜찮을 것 같습니다.
jSTEEM 프로젝트가 원래 블러트에서 만든 jsBLURT에서 파생된 것이기 때문에, 만약 구현한다면 양쪽에 다 적용할 수 있을 것으로 보입니다. 문제는 제대로 잘 구현할 수 있겠느냐겠네요.