Kornak (i Hadoop) działa całkiem dobrze w szynach prowadzących na JRuby. Możesz dołączyć Hadoop i Kornak słoiki tak:
require 'rubygems'
require 'java'
Dir [ "/ Kornak-base-dir/**/* jar."]. każdy {| jar | require jar}
Dir ["/ hadoop-base-dir/**/*. jar"] each {| jar | wymagają jar}
Następnie można dołączyć klas Kornak planujesz używać, na przykład:
include_class 'org.apache.hadoop.fs.Path'
org.apache include_class” .hadoop.conf.Configuration '
include_class 'org.apache.hadoop.fs.FileSystem'
include_class 'org.apache.mahout.clustering.spectral.common.AffinityMatrixInputJob org.apache.mahout.clustering'
include_class' .widmowy .kmeans.SpectralKMeansDriver”
Stamtąd można śledzić konwencje Kornak Java Docs i JRuby do budowy szyn systemowych rec.
Biorąc to pod uwagę, nie jestem pewien, czy byłaby to najlepsza architektura witryny (trudno powiedzieć bez większej szczegółowości). Jeśli twoja skala problemu jest wystarczająco duża, aby uzasadnić Mahout, prawdopodobnie bardziej sensowne będzie używanie Railsów tylko do rzeczy internetowych i generowanie twoich rekomendacji poza strukturą sieci (na przykład przez tworzenie pokrewieństw w nocnych partiach, itp.).
Filtrowanie grupowe nie jest szczególnie długim algorytmem do wdrożenia. Możesz poświęcić znacznie mniej czasu na implementację algorytmu, niż na próbę zmuszenia go do pracy z rubinem na szynach. – Steve