wiki:GSoC2016/R/Journal

Community Bonding Week 1: April 25-May 1

  • Read Xapian documentation
  • Understood existing bindings
  • Modified the originally proposed design of xapian_index()

Note: Will be reviewing this function further in the coming weeks

Community Bonding Week 2: May 2-May 8

  • Made further modifications to xapian_index()

Draft of xapian_index() https://docs.google.com/document/d/1RWHgeju_BycgtMtcuvT7uz5PeuxCwZV7ApZ4YbOcg7Y/edit?usp=sharing
Modified draft of xapian_index() https://docs.google.com/document/d/1X0WI5RjAEVpwJw9Ldga22sTTVfAexWQ3nFPZskDhmvE/edit?usp=sharing

  • Determined the output structure of xapian_search (developed sample functions)

Community Bonding Week 3: May 9-May 15

  • Determined the input structure of queries for simple as well as advanced search
  • Made minor modifications to xapian_index()
  • Reviewed and modified the originally proposed design of xapian_search()

Draft of xapian_search() https://docs.google.com/document/d/1bLSPVQq9MjEVbPjqfZa2Vr7bfrRFo-T3hVXlp5yjAgM/edit?usp=sharing

Community Bonding Week 4: May 16-May 22

Coding Week 1: May 23-May 29

  • Determined package structure: Access to Xapian functionalities will be supported via three main wrappers: DatabaseWrapper?, IndexingWrapper?, SearchWrapper?
  • Developed the basic structure of IndexingWrapper? (xapian_index() function accepts a data frame and a number of other compulsory and optional data structures as input arguments. In implementing the indexing function, each row in the data frame is considered a Xapian::Document.)
  • Exposed the following Xapian functions and constructors in the form of input parameters to xapian_index() function or used internally within it:
    • Xapian::WritableDatabase? -New, replace_document
    • Xapian::Termgenerator - New, set_stemmer, set_stemming_strategy, set_document, index_text(with prefix),index_text(without prefix), increase_termpos
    • Xapian::Document - New, set_data, add_boolean_term

Coding Week 2: May 30-June 5

  • Completely facilitated simple indexing with xapian_index() function
  • Verified the indexing functionality using the search and search_filters examples in Xapian C++ bindings
  • Developed DatabaseWrapper?
  • Implemented the following functions:
    • Xapian::Database - New, get_description, has_positions, get_doccount, get_lastdocid, get_avlength, get_doclength_lower_bound, get_doclength_upper_bound, get_uuid, get_metadata, get_spelling_suggestion, term_exists, get_collection_freq, get_value_freq, get_value_lower_bound, get_value_upper_bound

Coding Week 3: June 6-June 12

  • Added function documentation with roxygen2
  • Developed SearchWrapper?
  • Exposed the following Xapian functions and constructors in the form of input parameters to xapian_search function or used internally within it:
    • Xapian::Query - New
    • Xapian::QueryParser? - New, set_stemmer, set_stemming_strategy, add_prefix, parse_query
    • Xapian::Enquire - New, set_query, get_mset
    • Xapian::MSet - New
    • Xapian::MSetIterator - New, get_document

Coding Week 4: June 13-June 19

  • Modified the implementation of xapian_search
  • Added tests for simple indexing and search with testthat R package
  • Documented simple indexing and search

Coding Week 5: June 20-June 26

  • Added code to handle valueSlots parameter in IndexingWrapper?
  • Designed advanced query structure
  • Resolved some issues in package repository

Coding Week 6: June 27-July 3 (Midterm deadline June 27)

  • Implemented xapian_delete
  • Added advanced indexing examples - Verified the indexing functionality using the search facets and search_ranges examples in xapian C++ bindings
  • Started implementing advanced search features

Coding Week 7: July 4-July 10

  • Supported faceted search via xapian_search function
  • Continued to implement remaining advanced search features

Coding Week 8: July 11-July 17

  • Completely supported 'range' queries via xapian_search function
  • Had mid semester exams this week

Coding Week 9: July 18-July 24

  • Completed advanced query implementation
  • Modified the implementation of faceted search
  • Developed R examples corresponding to index_ranges,index_facets,search_filters and search_facets examples in the Getting started guide with Xapian.
  • Added automated tests

Coding Week 10: July 25-July 31

  • Supported ordering of search results
  • Added automated tests to verify that search results can be sorted
  • Completed package documentation
  • Modified package to remove NOTES and Warnings with R CMD Build

Coding Week 11: August 1-August 7

  • Wrote some articles explaining the usage of RXapian functions
  • Supported continuous integration with Travis-CI
  • Added tests to check compatibility of range queries with Xapian version
  • Supported range queries for Xapian versions older than 1.3.6

Coding Week 12: August 8-August 14

  • Resolved formatting issues
  • Reimplemented xapian_delete to support document deletion by docid and by term
  • Studied the structure of RcppBDT, Reddis
  • Wrapped Database class with Rcpp Modules (note: this will not be directly useful for RXapian's functions)

Submit code and evaluations: August 15-August 23

  • Worked on improving RXapian documentation
Last modified 3 years ago Last modified on 21/08/16 09:59:01