Kwiki Logo

ToDoList

(Not Logged In: Login via TypeKey)

Prior to 0.20

  • Clean up tutorial section.
  • Review all argument lists and change them to be either a single arg or labeled params.
  • Figure out what goes wrong when we switch SortExRun over to Nat.
  • Add OBJ_ALLOCATE and OBJ_DESTROY macros which default to malloc and free normally, but count objects when compiled under KINO_DEBUG. Use these to detect memory leaks during ordinary development, rather than after the fact with Valgrind.
  • Make TermInfo hold arbitrary data?
  • Don't print TermVectors if there are no vectorized fields.
  • Eliminate the present ViewCharBuf. Rename ZombieCharBuf to ViewCharBuf. Create MortalViewCharBuf.
  • Auto-generate POD for each class indicating inheritance chain and inherited methods.
  • Add extensions() metadata(), and file_format_revision() to SegDataWriter and subclasses.
  • If possible, refactor DocVector so that it's possible to extract start_offsets and end_offsets, given positions.
  • Fix SegPList_Skip_To.
  • Change over to mmap.
  • Flexible Indexing.
  • Factor DeletionsWriter out of IndexReader.
  • Fix refcounting situation for VArray and Hash storing functions.
  • Disentangle or document the mortalizing done by VTable_singleton.
  • Update Scorer_Skip_To docs to be in line with PList_Skip_To.
  • Generate callbacks only for methods which are bound, not for "public" methods.
  • Whittle down make_getters/make_setters in favor of bind_methods.
  • Add factory methods to QueryParser.
  • Fix glitch in Highlighter WRT selecting frag with no keywords.
  • Move POD out from all remaining modules so that the presentation on search.cpan.org is clean.
  • Add a NotStemmed content field to USConSchema to accommodate PrefixQuery.
  • Add a section describing to_string, equals to CustomQuery.
  • Move Architecture below Schema
  • Refactor SegDataWriter_Add_Segment implementations.
  • Refactor SegReader_Max_Docs and rename to Doc_Max.
  • Bust out Snapshot into Snapshot, SnapWriter, and SnapReader.
  • Remove fspecs arg from Snapshot_Make_New_Segment.
  • Rename Snapshot_Size to Snapshot_Num_Segments.
  • Messed up skip test in read-locking test file.
  • Port KinoSearch::Test to C.
  • Deploy VA_Get_Size.
  • Rename Fetch_FSpec to Fetch_Spec. Make other similar changes elsewhere.
  • Give LCNormalizer a language param.
  • Rename Native to Host.
  • Eliminate Inversion_Append, replace with Push.
  • Seg_Store_Metadata sould take a decremented arg.

Cleanup

  • Rename DelDocs_Delete_PostingList DelDocs_Delete_Posting_List.
  • Update comment style in scattered files (e.g. benchmarking files).
  • Move REFCOUNT_DEC calls around to make for easier debugging.
  • Make comments into docucomments in VArray.bp and maybe elsewhere.

After 0.20

  • Write a tutorial or possibly a module about how to provide rapid updates using a combination of queueing and RAMFolder.
  • Port test suite to C.

Back Burner

  • Change documentation linking syntax from POD-style to JavaDoc-style.
  • Write KSx::Simple::HTML
  • Write C-level tests for StrHelp_valid_utf8.
  • Make it possible to remove fields from a Schema and an Index.
  • Add comment about verification performed by build_args_hash in XSHelper.
  • Add comment about analyze_batch being abstract.
  • Kill fflush, since KinoSearch's IO classes do their own buffering.
  • Write tests for merge4 and merge8 in KinoSearch::Util::MSort
  • Reimplement TermVector code using a Stepper subclass.
  • Rename sub_plist to seg_plist in MultiPostingList
  • Add max_bytes arg to Post_Bulk_Read
  • Eliminate SortExRun_Prepare_Slice.
  • Forbid inheritance of all Foo_Clone() methods.
  • Eliminate Scorer_Next() in favor of Scorer_Skip_To() ?
  • Rename fspecs var in Schema to "fields" ?
  • Add a dump function to Obj, which defaults to To_String. (a la Prototype's Object.inspect())
  • Make DocReader subclassable.
  • Add custom comparison functions to FieldSpec.
  • Fix delete_by_term behavior after add_doc is called in InvIndexer.
  • Implement SegInfo_Fetch_Field
  • Verify that cooperating machines use similar floats for SearchServer/SearchClient.
  • Distinguish between const objects and regular objects in TypeMap.
  • Optimize LexReader_fetch_term_info for sequential access a la Lucene TermInfosReader.get(term).