Я пытаюсь сделать сайт рекомендаций книг. Я просканировал некоторые книжные сайты, и у меня есть около 15 миллионов отдельных книг в базе данных, которая находится в neo4j.
Сейчас для некоторых жанров, таких как детективы и триллеры, существует как минимум около 1 миллиона книг. Я должен составить топ-20 рекомендаций. Мой текущий подход-
- получить книги
- запустить сравнение подобия (vec-косинус или Пирсон)
- сортировать и отображать
дороги и требуют времени, совсем не подходят для системы реального времени. Я думал сохранить отсортированный список по жанрам, связав neo4j с традиционной БД и получая лучшие из этой БД через neo4j. Но это также медленно (занимает несколько десятков секунд). Есть ли более простой и интуитивно понятный способ сделать это? Любые идеи помогут.