2015-01-23 3 views
10

맞춤 검색 결과를 반환하도록 Elasticsearch를 설정하는 방법은 무엇입니까?맞춤 검색 결과에 대한 검색 Elasticsearch

예를 들어 이전에 결과를 클릭하거나 특정 결과가 '별표 표시'된 경우 특정 사용자에게 반환되는 결과가 더 높은 순위로 표시되도록 할 수 있습니다. 결과를 순위보다 더 낮추는 "숨기기"옵션을 사용할 수도 있습니다. 지금까지 탄성 검색으로 보았던 것부터, 사용자의 동적 데이터를 기반으로 사용자에게 다른 순위를 반환하는 것은 어려워 보입니다.

솔루션은 수십 명의 사용자를 대상으로 하루에 수십 번 검색해야합니다. 이상적으로는 순위가 실시간으로 변경되기를 원하지만 중요한 것은 아닙니다.

+1

해결 한 경우 몇 가지 정보를 공유 할 수 있습니까? 매우 비슷한 기능을 구현하려고하지만 아래의 대답은 저에게 충분한 정보가 없습니다. – ivant

답변

7

Elasticsearch는 다양한 채점 옵션을 제공하지만 몇 가지 추가 작업을 수행해야한다고 말한 것을 성취합니다.

Function score query 및 문서 terms lookup terms filter는 사용자 당 문서를 만들 링크 또는 링크 ID 그가 방문하고 그가 좋아 한 링크를 말하는 우리의 선택

먼저 우리의 도구가 될 것입니다. 별도의 색인으로 별도로 보관해야합니다. 그리고 이것은 클라이언트 측에서이 레코드를 업데이트하고 유지 관리해야하므로 사용자가 관리해야합니다.

사용자가 데이터 색인을 클릭하면 필터 기능이이 필드를 가리키는 기능 점수 쿼리를 수행하십시오.

필터가 캐시 될 때이 접근법에서는 적절한 성능을 얻을 수 있습니다.

+1

Vineeth, 이것은 내가 필요한 것과 매우 비슷합니다. 하지만 내 elasticsearch-fu는 아직 좋지 않습니다. 그래서 몇 가지 예를 게시하거나 가르쳐 주시겠습니까? – ivant

관련 문제