2012-05-09 1 views
1

여름 인턴십의 경우 사용자가 시작 웹 사이트에서 방문하는 페이지와 관련된 특정 데이터를 수집해야합니다.추천 엔진의 데이터를 수집하기 위해 방문을 기록하는 레일스의 방법은 무엇입니까?

사물을 단순화하기 위해 웹 사이트를 데이트 사이트로 간주 할 수 있습니다.이 사이트에서는 각 사용자가 프로필 페이지를 가지고 있으며 특정 카테고리 (머리 색, 도시 등) 아래에 태그가 지정되어 있습니다.

Rails 프레임 워크에서 사용자가 프로필 또는 태그 페이지를 방문 할 때마다 추적을 유지하는 가장 좋은 방법을 알고 싶습니다. 파일에 로그인하거나 데이터베이스에 추가해야합니까? 코드에서 정확히 어디에 함수를 호출해야합니까? 아마도이 특정 목적을 위해 이미 보석이 존재했을까요?

궁극적으로 추천 시스템을 구축하는 것이 목표이기 때문에 데이터를 저장하는 방법과 함수를 Rails에서 호출해야하는 부분에 관한 질문입니다.

+0

팁 : 웹 서버의 로그에 이미 이와 같은 데이터가 저장되어 있습니다. –

+0

웹 서버는 방문한 프로필은 기록하지만 특정 방문과 관련있는 태그는 기록하지 않습니다. 그래서 어느 쪽이든 필요한 애플 리케이션 로직이 있습니다. 또한 권장 시스템의 데이터 저장소를 현명하게 선택해야합니다. – Matt

+1

Google Analytics를 사용해야합니까? 이 모든 종류의 데이터를 추적하는 것이 좋습니다. 수집하는 데이터를 앱/데이터베이스로 가져 오기 위해 사용할 수있는 API가 있습니다. 어떤 API를 사용하든 결국 처리 할 수 ​​있습니다. – MrTheWalrus

답변

1

다양한 옵션을 사용할 수 있습니다. 다음 중 하나를 권 해드립니다.

  • 관련 컨트롤러 작업에 대한 장비 세부 로깅. 주기적으로 로그 파일의 데이터를 집계하고 관련 엔진에서 사용할 수 있도록하는 레이크 작업을 실행합니다.
  • Redis과 같은 키/값 저장소를 사용하여 요청 중에 사용자/작업 관련 카운터를 증가시킵니다. 관련도 엔진은 필요한 측정 항목에 대해이 상점을 질의 할 수 있습니다. 다시, 메트릭스의 주기적 집계가 권고됩니다.

두 가지 방법 모두 before_filter 문에 적합합니다. 컨트롤러 동작이 실행되어 통계 수집을 투명하게 구현하기 전에 입력 params을 조사 할 수 있습니다.

원시 데이터를 저장하기 위해 관계형 데이터베이스를 사용하지 않는 것이 좋습니다.