Whoosh 0.3 release notesΒΆ
Major improvements to reading/writing of postings and query performance.
Changed default post limit (run size) from 4 MB to 32 MB.
Finished migrating backend-specific code into
whoosh.filedb
package.Moved formats from whoosh.fields module into new whoosh.formats module.
DocReader and TermReader classes combined into new IndexReader interface. You can get an IndexReader implementation by calling Index.reader(). Searcher is now a wrapper around an IndexReader.
Range query object changed, with new signature and new syntax in the default query parser. Now you can use
[start TO end]
in the query parser for an inclusive range, and{start TO end}
for an exclusive range. You can also mix the delimiters, for example[start TO end}
for a range with an inclusive start but exclusive end term.Added experimental DATETIME field type lets you pass a
datetime.datetime
object as a field value toadd_document
:from whoosh.fields import Schema, ID, DATETIME from whoosh.filedb.filestore import RamStorage from datetime import datetime schema = Schema(id=ID, date=DATETIME) storage = RamStorage() ix = storage.create_index(schema) w = ix.writer() w.add_document(id=u"A", date=datetime.now()) w.close()
Internally, the DATETIME field indexes the datetime object as text using the format (4 digit year + 2 digit month + 2 digit day + ‘T’ + 2 digit hour + 2 digit minute + 2 digit second + 6 digit microsecond), for example
20090817T160203109000
.The default query parser now lets you use quoted strings in prefix and range queries, e.g.
["2009-05" TO "2009-12"]
,"alfa/bravo"*
, making it easier to work with terms containing special characters.DocReader.vector_as(docnum, fieldid, astype)
is nowIndexReader.vector_as(astype, docnum, fieldid)
(i.e. the astype argument has moved from the last to the first argument), e.g.v = ixreader.vector_as("frequency", 102, "content")
.Added whoosh.support.charset for translating Sphinx charset table files.
Added whoosh.analysis.CharsetTokenizer and CharsetFilter to enable case and accent folding.
Added experimental
whoosh.ramdb
in-memory backend.Added experimental
whoosh.query.FuzzyTerm
query type.Added
whoosh.lang.wordnet
module containingThesaurus
object for using WordNet synonym database.