Table of Contents
- Community Bonding Week 1: April 25-May 1
- Community Bonding Week 2: May 2-May 8
- Community Bonding Week 3: May 9-May 15
- Community Bonding Week 4: May 16-May 22
- Coding Week 1: May 23-May 29
- Coding Week 2: May 30-June 5
- Coding Week 3: June 6-June 12
- Coding Week 4: June 13-June 19
- Coding Week 5: June 20-June 26
- Coding Week 6: June 27-July 3 (Midterm deadline June 27)
- Coding Week 7: July 4-July 10
- Coding Week 8: July 11-July 17
- Coding Week 9: July 18-July 24
- Coding Week 10: July 25-July 31
- Coding Week 11: August 1-August 7
- Coding Week 12: August 8-August 14
- Submit code and evaluations: August 15-August 23
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
- Determined an R package to use for testing: testthat https://cran.r-project.org/web/packages/testthat/index.html
- Determined an R package to use for argument checks: checkmate https://cran.r-project.org/web/packages/checkmate/index.html
- Developed code samples that would be helpful during implementation
- Made further modifications to query structure
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
8 years ago
Last modified on 08/21/16 09:59:01
Note:
See TracWiki
for help on using the wiki.