wiki:GSoC2016/R/RXapian

RXapian: R bindings for Xapian search engine library

About this project

R is inarguably one of the best available programming languages for computational statistics, data visualization and data science. It is used by numerous statisticians and data scientists worldwide to solve complex problems in their respective fields. This project enables Xapian to be used by the R community which comprises of a user-base of around 2 million users. This gives them the opportunity to make use of Xapian's advanced indexing and search facilities in their own applications and research areas. Furthermore data stored in Xapian databases can also be visualized to produce a variety of plots that could be used in graphical data analysis and other research areas in the field of data analytics.

Implementation summary

The main goal of this project is to enable Xapian search engine library to be accessed by the R community. In order to achieve the aforementioned goal, I developed an R package called RXapian which facilitates convenient access to advanced indexing and retrieval operations offered by Xapian search engine library. Two main functions (xapian_search and xapian_index) and a number of other functions were exposed to users. All complexities were handled internally within the package, giving users the ability to interact with Xapian by simply calling the required functions with appropriate arguments. For the development of R bindings, I used the RCPP package which facilitates seamless integration of R and C++ by providing R functions as well as C++ classes.

Code repository https://github.com/amandaJayanetti/RXapian
SHA of the last commit made as part of GSoC f075f9e
RXapian manual https://drive.google.com/file/d/0BwR_mIaYtm8TUU5JZ3JkdjdBRWc/view?usp=sharing
RXapian guide https://github.com/amandaJayanetti/RXapian-guide
Project plan https://trac.xapian.org/wiki/GSoC2016/R/ProjectPlan
Journal https://trac.xapian.org/wiki/GSoC2016/R/Journal
Last modified 8 years ago Last modified on 11/03/16 08:24:05
Note: See TracWiki for help on using the wiki.