2013-10-29 5 views
0

스마트 적응 검색 엔진이있는 응용 프로그램을 만들려고합니다. 4x4를 검색하면 DB는 4x4 차량 (100 대)을 반환합니다.하지만 시간이 갈수록 차를 확인하고 좋아하고 댓글을 달며 검색 결과의 순서를 지정해야합니다. 다른. 즉, 1 개월 후에 4x4를 ​​검색 할 때 이전에 사이트와 상호 작용할 때와 동일한 순서로 결과 집합을 가져와야합니다. 내가 주로 독일 자동차를 좋아하고 논평했다면 BMW는 정상에 있어야하고 Land Cruiser는 더 내려야합니다.순위/검색 결과 검색

이 순위는 사용자 상호 작용 (예 : 자동차 출처, 사용자 나이, 사용자 위치, 자동차 유형 [4x4, 쿠페, 해치백], 가격대)을 포착 한 속성을 기반으로해야합니다. 그래서 내가 얻은 각각의 자동차 결과에 대해 위의 5 가지 속성에서 얼마나 잘 수행되고 있는지에 따라 무게를 측정 할 것입니다.

저는 DB를 저장소로 사용하고 서버에서 순위와 생각을하려고합니다. 제 질문은 검색 결과의 무게를 달거나 순위를 매길 때 어떤 알고리즘을 사용해야합니까?

감사합니다.

답변

0

당신은 기본적으로 이미 여러 주문 계획을 가지고 말을하는지 : 자동차의 범주에 대한 좋아의

  • 키워드 검색 결과
  • 양 등의 인기로
  • 가능성이 다른 사람, 날짜의 형태, 등

당신이 새로운 체계를 구성되어 다음 수행 호출 관련 :

,515,
  • 관련성 = W * 1 keyword_score + 2 * likes_score ... +

W 정렬과 관련하여. 유용하다고 판단 될 때까지 가중치 W , W ...을 실험 해보십시오.

필자의 이해에서 검색 엔진은이 원리로 작동합니다. Google은 관련성 점수에 200 개의 서로 다른 입력 순서로 오랜 기간 동안 페이지 랭크 (PageRank)가 단 한 번 휩쓸려 왔습니다. 이 접근법의 장점은 모든 쿼리의 중요성을 세밀하게 조정할 수 있으며 모든 입력을 고집하지 않고 추가 입력을 추가 할 수 있다는 것입니다.

+0

감사합니다 ... 나는 단지 좀 더 복잡한 계량 공식을 필요로한다고 생각합니다. 예를 들어, 한 명의 사용자가 30x4x4 차량과 20 대의 독일 자동차를 검색 한 경우 ... 조금 어려울 것입니다. 귀하의 수식에이 값들을 대체하십시오 ... – biso

+0

@biso 좋아, 그래서 당신은 두 종류의 카테고리가 있습니다 : 자동차 (4x4, 세단 등)의 유형과 국적 (독일어, 미국식 등). 아마도 자동차의 종류가 더 높을 것입니다. – Adam