如何实现新的后端¶
索引¶
子类
whoosh.index.Index
.索引必须实现以下方法。
需要/支持锁定的索引必须实现以下方法。
whoosh.index.Index.lock()
whoosh.index.Index.unlock()
支持删除的索引必须实现以下方法。
whoosh.index.Index.delete_document()
whoosh.index.Index.doc_count_all()
--如果后端已延迟删除。
需要/支持版本控制/事务的索引 may 实现以下方法。
索引 may 实现以下方法(基类的版本不是ops)。
IndexWriter¶
索引编写器必须实现以下方法。
whoosh.writing.IndexWriter.add_reader()
支持删除的后端必须实现以下方法。
作为事务处理的索引编写器必须实现以下方法。
whoosh.reading.IndexWriter.commit()
--将使用此索引编写器完成的添加/删除操作保存到主索引,并释放索引编写器使用的任何资源。whoosh.reading.IndexWriter.cancel()
--放弃使用此索引编写器进行的任何添加/删除操作,并释放索引编写器使用的任何资源。
IndexReader¶
indexreaders必须实现以下方法。
whoosh.reading.IndexReader.__contains__()
whoosh.reading.IndexReader.__iter__()
支持删除文档的后端应该实现以下方法。
支持版本控制的后端应该实现以下方法。
If the IndexReader object does not keep the schema in the
self.schema
属性,它需要重写以下方法。whoosh.reading.IndexReader.field()
whoosh.reading.IndexReader.field_names()
whoosh.reading.IndexReader.scorable_names()
whoosh.reading.IndexReader.vector_names()
索引阅读器 may 实现以下方法。
whoosh.reading.DocReader.close()
--关闭与读卡器关联的所有打开的资源。
匹配器¶
这个 whoosh.reading.IndexReader.postings()
方法返回 whoosh.matching.Matcher
对象。您可能需要实现一个自定义的matcher类,以便从您的发布列表中进行读取。
至少实现以下方法。
根据实现情况,您 may 更有效地实现以下方法。
如果实现支持质量,则应实现以下方法。
whoosh.matching.Matcher.supports_quality()
whoosh.matching.Matcher.quality()