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
- Coding Week 7: July 4-July 10
- Coding Week 8: July 11-July 17 (Midterm)
- 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
- Coding Week 13: August 15-August 22 (Final evaluation)
Community Bonding Week 1: April 25-May 1
Report
looking at xapian source code
Community Bonding Week 2: May 2-May 8
Report
try to understand xapian classes
Community Bonding Week 3: May 9-May 15
Report
learn to use github and fork my own xapian branch https://github.com/sabrina-xapian/xapian
Community Bonding Week 4: May 16-May 22
Report
learn some knowledge about autoconf http://www.gnu.org/savannah-checkouts/gnu/autoconf/manual/autoconf-2.68/html_node/
Coding Week 1: May 23-May 29
Report
Support Query. In Lua, we could pass tables to Xapian which contain various types, including string or userdata to construct the Query object.
Coding Week 2: May 30-June 5
Report
Hearing from Lua developer feedback about the configure setting of binding Lua to Xapian, and improve the configure.ac file and Make.am file.
Coding Week 3: June 6-June 12
Report
Hearing from Lua developer feedback about the Lua interface to Xapian.
Merged Lua into Xapian trunk (Thanks Olly)
Coding Week 4: June 13-June 19
Report
improve Lua smoketest, include:
Test the version number
Test document and database
Add code comments
Test MultiValueKeyMaker
Feature test for ValueSetMatchDecider
Feature tests for Query "term" constructor optional arguments
Test access to matchspy values
Coding Week 5: June 20-June 26
Report
support MatchAll and MatchNothing These are wrapped for Lua as xapian.Query_MatchAll and xapian.Query_MatchNothing.
Coding Week 6: June 27-July 3
Report
learn perl oo feature http://www.tutorialspoint.com/perl/perl_oo_perl.htm
learn pers xs code http://perldoc.perl.org/perlxs.html
learn Xapian.xs file about MatchDecider https://trac.xapian.org/browser/branches/1.2/search-xapian/Xapian.xs
learn Call Lua function in C http://www.lua.org/pil/25.2.html
support MatchDecider for lua and add simplematchdecider.lua
improve MatchDecider support (function and MatchDecider both could be transfered when there need a MatchDecider argument)
Add MatchDecider documentation
Coding Week 7: July 4-July 10
Add MatchDecider testsuite
learn ruby and python iterator wrapping
Add xapian.Iterator function
Improve Iterator wrapper
Coding Week 8: July 11-July 17 (Midterm)
Coding Week 9: July 18-July 24
Report
Using macro to improve xapian iterator in lua-binding, include:
TermIterator,ESetIterator,MSetIterator,ValueIterator,PostingIterator and
Xapian::PositionIterator.
learn generate-perl-exceptions and generate-python-exceptions
write generate-lua-exceptions file, and change Makefile.am to make this file to generate except.i file when compiling.
Change lua.i to include except.i, so that lua can deal with Xapian Error well.
For instance, db=xapian.Database("not_exit"), will give the users the following error:
stdin:1: DatabaseOpeningError: Couldn't stat 'not_exit'
stack traceback:
[C]: in function 'Database'
stdin:1: in main chunk
[C]: ?
Coding Week 10: July 25-July 31
Report
wrap ExpandDecider, Stopper,StemImplementation,
KeyMaker, MatchSpy, ValueRangeProcessor functor classes.
improving wrapping the Query constructor which takes a mixed list of Query objects and strings, using XapianSWIGQueryItor class which wraps the languages C API for looping over an array, and pass a pair of these iterators to Xapian's C++ API.
Coding Week 11: August 1-August 7
Report
using lua##CLASS to take place of DEREF_CLASS
convert std::string in C++ to be lua string in the ExpandDeicer and Stopper class
Add ExpandDecider test-suite
Coding Week 12: August 8-August 14
Report
use $descriptor(Xapian::CLASS *) to generate "SWIG_p_Xapian_CLASS", in order to simple the macro
use lua_pushlstring instead of lua_pushstring so that strings with embedded zero bytes in don't get truncated.
wrap std::string as lua string instead of user data, so that users can input strings for the lua sub-class(StemImplementation,ValueRangeProcessor)
Add stoplist method for QueryParser class
Test preservation of stopper set on query parser
Test preservation of stopper set on term generator
Define a function called expect, to compare two tables/values, to take place of assert in the testsuit file so that it is easy to test whether the results are we expected.
Add matchspy testsuite