Coder Social home page Coder Social logo

hxdhan / drupal-recommender Goto Github PK

View Code? Open in Web Editor NEW

This project forked from danithaca/drupal-recommender

0.0 2.0 0.0 232 KB

This is the Java agent code for Drupal Recommender API module.

Home Page: https://www.drupal.org/project/recommender

License: Apache License 2.0

Shell 3.30% Java 96.70%

drupal-recommender's Introduction

Drupal Recommender API: Java Agent Program

This documentation helps you setup and run the Java agent program of Recommender API Drupal module. Compares to the PHP recommender engine that comes with Recommender API, this Java agent program offers these additional features:

  • Apache Mahout integration for better performance and scalability.
  • Deployment on a remote server instead of on the Drupal production server.
  • Additional config parameters (e.g., incremental update) for the classical collaborative filtering algorithm (user-based and item-based).
  • Advanced recommender algorithms such as SVD++ and ensemble (to be implemented).
  • Hadoop/Spark clusters support for big data (to be implemented).

Current release: 7.x-6.0-alpha1 (tag) in the 7.x-6.x branch, following the release convention of the Recommender API Drupal module.

Installation

This program requires the Drupal Computing module. Please refer to https://github.com/danithaca/drupal-computing and set up Drupal Computing Java client library on the server where you will run the Recommender API Java agent program. Then download this program to the same server.

Additional Java library dependencies:

Maven is not yet supported for dependency management (follow the issue at danithaca#1). Here are a few links to help you use Maven with the Recommender API Java agent:

Configuration and Execution

Configuring the Java agent mostly involves setup the correct CLASSPATH. For example:

export MAHOUT_HOME=/opt/mahout-distribution-0.9
export COMMONS_DBUTILS_HOME=/opt/commons-dbutils-1.6
export COMMONS_DBCP_HOME=/opt/commons-dbcp-1.4
export MYSQL_JDBC_HOME=/opt/mysql-connector
export DRUPAL_COMPUTING_HOME=/opt/drupal-computing

export CLASSPATH=${CLASSPATH}:recommender.jar:${MAHOUT_HOME}/*:${COMMONS_DBUTILS_HOME}/*:${COMMONS_DBCP_HOME}/*:${MYSQL_JDBC_HOME}/*:${DRUPAL_COMPUTING_HOME}/java/computing.jar:${DRUPAL_COMPUTING_HOME}/java/lib/*

Then, fire up the class that executes Recommender, which takes input from the Recommender API Drupal module:

java -Ddcomp.config.file=config.properties org.drupal.project.recommender.DefaultApplication

Please refer to the Recommender API Drupal module to learn more about the parameters for recommender algorithms. You also need to specify additional parameters in config.properties file about how the Java agent interact with Drupal. See documentations at https://github.com/danithaca/drupal-computing.

Development

Read the Java source code directly to see how to extends the Recommender API Java agent. To develop sub-modules for Recommender API, please refer to documentations on http://drupal.org/project/recommender.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.