사용자 선호도 및 프로필을 고려한 elasticsearch에서 사용자 제안 시스템을 모델링하려고합니다.탄성 검색 : 좋아하는 것을 기반으로 사용자를 제안하십시오.
user: {
id: 232344,
location: 'New York',
likes: [4545, 3434, 343]
}
내가 세 가지 개념 아래를 기반으로 사용자를 제안 할 : 날 좋아
1) 사용자
는이 같은 사용자 구조를 가지고있다.
2) 내가 좋아하는 사용자가 2 명 있습니다. (유사한 위치 등)
3) 상호 좋아합니다. (사용자 x와 같은 사용자 b는 사용자 x를 좋아하고 사용자 b는 사용자 b를 추천하고 그 반대도 마찬가지입니다.)
elasticsearch에서 More like this
쿼리를 읽었지만 이러한 모든 시나리오를 고려할 수 있는지 확실하지 않습니다. .
elasticsearch 쿼리에서 어떻게 모델링 할 수 있습니까? 아니면 neo4j와 같은 그래프 데이터베이스를 사용해야합니까?
답변 해 주셔서 감사합니다. 나는 그 접근법을 좋아했다. 세 가지 쿼리를 하나로 모델링 할 수있는 방법이 있습니까? 백그라운드에서 이러한 쿼리를 실행하고 모든 정보를 redis에 저장해야하는지 결정해야합니다. 우리가 하나의 쿼리에서이를 수행 할 수 있고 여전히 실행 가능하다면 백그라운드 작업과 비교하여 쿼리를 사용하는 것이 좋습니다. –
[multisearch] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-multi-search.html#search-multi-search)를 사용하여 쿼리를 그룹화 할 수 있습니다. Elasticsearch는 3 개의 쿼리를 실행하지만 하나의 요청 만해야합니다. 이 솔루션을 찾으려면 [이 쿼리와 비슷하게 보입니다.] (http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-mlt-query.html) 대신이 API를 사용하십시오. – moliware
굉장! 고마워. 몇 가지 임의의 데이터로 벤치마킹하고 소요 시간을 확인합니다. –