本文整理汇总了Python中whoosh.filedb.filestore.RamStorage.reader方法的典型用法代码示例。如果您正苦于以下问题:Python RamStorage.reader方法的具体用法?Python RamStorage.reader怎么用?Python RamStorage.reader使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类whoosh.filedb.filestore.RamStorage
的用法示例。
在下文中一共展示了RamStorage.reader方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_multisegment
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_multisegment():
schema = fields.Schema(text=fields.TEXT(spelling=True))
ix = RamStorage().create_index(schema)
domain = u("special specious spectacular spongy spring specials").split()
for word in domain:
w = ix.writer()
w.add_document(text=word)
w.commit(merge=False)
with ix.reader() as r:
assert not r.is_atomic()
assert r.has_word_graph("text")
words = list(r.word_graph("text").flatten_strings())
assert words == sorted(domain)
corr = r.corrector("text")
assert corr.suggest("specail", maxdist=2) == ["special", "specials"]
ix.optimize()
with ix.reader() as r:
assert r.is_atomic()
fieldobj = schema["text"]
assert [fieldobj.from_bytes(t) for t in r.lexicon("text")] == sorted(domain)
assert r.has_word_graph("text")
words = list(r.word_graph("text").flatten_strings())
assert words == sorted(domain)
corr = r.corrector("text")
assert corr.suggest("specail", maxdist=2) == ["special", "specials"]
示例2: test_multisegment
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_multisegment():
schema = fields.Schema(text=fields.TEXT(spelling=True))
ix = RamStorage().create_index(schema)
domain = u("special specious spectacular spongy spring specials").split()
for word in domain:
w = ix.writer()
w.add_document(text=word)
w.commit(merge=False)
with ix.reader() as r:
assert not r.is_atomic()
words = list(dawg.flatten(r.word_graph("text")))
assert_equal(words, sorted(domain))
corr = r.corrector("text")
assert_equal(corr.suggest("specail", maxdist=2), ["special", "specials"])
ix.optimize()
with ix.reader() as r:
assert r.is_atomic()
assert_equal(list(r.lexicon("text")), sorted(domain))
assert r.has_word_graph("text")
words = list(dawg.flatten(r.word_graph("text")))
assert_equal(words, sorted(domain))
corr = r.corrector("text")
assert_equal(corr.suggest("specail", maxdist=2), ["special", "specials"])
示例3: test_add_spelling
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_add_spelling():
schema = fields.Schema(text1=fields.TEXT, text2=fields.TEXT)
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(text1=u("render zorro kaori postal"), text2=u("alfa"))
w.add_document(text1=u("reader zebra koala pastry"), text2=u("alpa"))
w.add_document(text1=u("leader libra ooala paster"), text2=u("alpha"))
w.add_document(text1=u("feeder lorry zoala baster"), text2=u("olfo"))
w.commit()
with ix.reader() as r:
assert not r.has_word_graph("text1")
assert not r.has_word_graph("text2")
from whoosh.writing import add_spelling
add_spelling(ix, ["text1", "text2"])
with ix.reader() as r:
assert r.has_word_graph("text1")
assert r.has_word_graph("text2")
sp = spelling.ReaderCorrector(r, "text1")
assert sp.suggest(u("kaola"), maxdist=1) == [u('koala')]
assert sp.suggest(u("kaola"), maxdist=2) == [u('koala'), u('kaori'), u('ooala'), u('zoala')]
sp = spelling.ReaderCorrector(r, "text2")
assert sp.suggest(u("alfo"), maxdist=1) == [u("alfa"), u("olfo")]
示例4: test_term_stats
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_term_stats():
schema = fields.Schema(t=fields.TEXT)
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(t=u("alfa bravo charlie delta echo"))
w.add_document(t=u("bravo charlie delta echo foxtrot"))
w.add_document(t=u("charlie delta echo foxtrot golf"))
w.add_document(t=u("delta echo foxtrot"))
w.add_document(t=u("echo foxtrot golf hotel india juliet"))
w.add_document(t=u("foxtrot alfa alfa alfa"))
w.commit()
with ix.reader() as r:
ti = r.term_info("t", u("alfa"))
assert_equal(ti.weight(), 4.0)
assert_equal(ti.doc_frequency(), 2)
assert_equal(ti.min_length(), 4)
assert_equal(ti.max_length(), 5)
assert_equal(ti.max_weight(), 3.0)
assert_equal(ti.max_wol(), 3.0 / 4.0)
assert_equal(r.term_info("t", u("echo")).min_length(), 3)
assert_equal(r.doc_field_length(3, "t"), 3)
assert_equal(r.min_field_length("t"), 3)
assert_equal(r.max_field_length("t"), 6)
w = ix.writer()
w.add_document(t=u("alfa"))
w.add_document(t=u("bravo charlie"))
w.add_document(t=u("echo foxtrot tango bravo"))
w.add_document(t=u("golf hotel"))
w.add_document(t=u("india"))
w.add_document(t=u("juliet alfa bravo charlie delta echo foxtrot"))
w.commit(merge=False)
with ix.reader() as r:
ti = r.term_info("t", u("alfa"))
assert_equal(ti.weight(), 6.0)
assert_equal(ti.doc_frequency(), 4)
assert_equal(ti.min_length(), 1)
assert_equal(ti.max_length(), 7)
assert_equal(ti.max_weight(), 3.0)
assert_equal(ti.max_wol(), 1.0)
assert_equal(r.term_info("t", u("echo")).min_length(), 3)
assert_equal(r.min_field_length("t"), 1)
assert_equal(r.max_field_length("t"), 7)
示例5: test_wildcard_existing_terms
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_wildcard_existing_terms():
s = fields.Schema(key=fields.ID, value=fields.TEXT)
ix = RamStorage().create_index(s)
w = ix.writer()
w.add_document(key=u("a"), value=u("alfa bravo bear charlie delta"))
w.add_document(key=u("a"), value=u("boggle echo render rendering renders"))
w.commit()
r = ix.reader()
qp = QueryParser("value", ix.schema)
def words(terms):
z = []
for t in terms:
assert t[0] == "value"
z.append(t[1])
return " ".join(sorted(z))
q = qp.parse(u("b*"))
ts = q.existing_terms(r)
assert_equal(ts, set())
ts = q.existing_terms(r, expand=True)
assert_equal(words(ts), "bear boggle bravo")
q = qp.parse(u("[a TO f]"))
ts = q.existing_terms(r)
assert_equal(ts, set())
ts = q.existing_terms(r, expand=True)
assert_equal(words(ts), "alfa bear boggle bravo charlie delta echo")
q = query.Variations("value", "render")
ts = q.existing_terms(r, expand=False)
assert_equal(ts, set())
ts = q.existing_terms(r, expand=True)
assert_equal(words(ts), "render rendering renders")
示例6: test_term_stats
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_term_stats():
schema = fields.Schema(t=fields.TEXT)
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(t=u("alfa bravo charlie delta echo"))
w.add_document(t=u("bravo charlie delta echo foxtrot"))
w.add_document(t=u("charlie delta echo foxtrot golf"))
w.add_document(t=u("delta echo foxtrot"))
w.add_document(t=u("echo foxtrot golf hotel india juliet"))
w.add_document(t=u("foxtrot alfa alfa alfa"))
w.commit()
with ix.reader() as r:
ti = r.term_info("t", u("alfa"))
assert ti.weight() == 4.0
assert ti.doc_frequency() == 2
assert ti.min_length() == 4
assert ti.max_length() == 5
assert ti.max_weight() == 3.0
assert r.term_info("t", u("echo")).min_length() == 3
assert r.doc_field_length(3, "t") == 3
assert r.min_field_length("t") == 3
assert r.max_field_length("t") == 6
w = ix.writer()
w.add_document(t=u("alfa"))
w.add_document(t=u("bravo charlie"))
w.add_document(t=u("echo foxtrot tango bravo"))
w.add_document(t=u("golf hotel"))
w.add_document(t=u("india"))
w.add_document(t=u("juliet alfa bravo charlie delta echo foxtrot"))
w.commit(merge=False)
with ix.reader() as r:
ti = r.term_info("t", u("alfa"))
assert ti.weight() == 6.0
assert ti.doc_frequency() == 4
assert ti.min_length() == 1
assert ti.max_length() == 7
assert ti.max_weight() == 3.0
assert r.term_info("t", u("echo")).min_length() == 3
assert r.min_field_length("t") == 1
assert r.max_field_length("t") == 7
示例7: test_doc_count
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_doc_count():
schema = fields.Schema(id=fields.NUMERIC)
ix = RamStorage().create_index(schema)
w = ix.writer()
for i in xrange(10):
w.add_document(id=i)
w.commit()
r = ix.reader()
assert_equal(r.doc_count(), 10)
assert_equal(r.doc_count_all(), 10)
w = ix.writer()
w.delete_document(2)
w.delete_document(4)
w.delete_document(6)
w.delete_document(8)
w.commit()
r = ix.reader()
assert_equal(r.doc_count(), 6)
assert_equal(r.doc_count_all(), 10)
w = ix.writer()
for i in xrange(10, 15):
w.add_document(id=i)
w.commit(merge=False)
r = ix.reader()
assert_equal(r.doc_count(), 11)
assert_equal(r.doc_count_all(), 15)
w = ix.writer()
w.delete_document(10)
w.delete_document(12)
w.delete_document(14)
w.commit(merge=False)
r = ix.reader()
assert_equal(r.doc_count(), 8)
assert_equal(r.doc_count_all(), 15)
ix.optimize()
r = ix.reader()
assert_equal(r.doc_count(), 8)
assert_equal(r.doc_count_all(), 8)
示例8: test_doc_count
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_doc_count():
schema = fields.Schema(id=fields.NUMERIC)
ix = RamStorage().create_index(schema)
with ix.writer() as w:
for i in xrange(10):
w.add_document(id=i)
r = ix.reader()
assert r.doc_count() == 10
assert r.doc_count_all() == 10
w = ix.writer()
w.delete_document(2)
w.delete_document(4)
w.delete_document(6)
w.delete_document(8)
w.commit()
r = ix.reader()
assert r.doc_count() == 6
assert r.doc_count_all() == 10
w = ix.writer()
for i in xrange(10, 15):
w.add_document(id=i)
w.commit(merge=False)
r = ix.reader()
assert r.doc_count() == 11
assert r.doc_count_all() == 15
w = ix.writer()
w.delete_document(10)
w.delete_document(12)
w.delete_document(14)
w.commit(merge=False)
r = ix.reader()
assert r.doc_count() == 8
assert r.doc_count_all() == 15
ix.optimize()
r = ix.reader()
assert r.doc_count() == 8
assert r.doc_count_all() == 8
示例9: test_min_max_id
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_min_max_id():
schema = fields.Schema(id=fields.STORED, t=fields.TEXT)
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(id=0, t=u("alfa bravo charlie"))
w.add_document(id=1, t=u("bravo charlie delta"))
w.add_document(id=2, t=u("charlie delta echo"))
w.add_document(id=3, t=u("delta echo foxtrot"))
w.add_document(id=4, t=u("echo foxtrot golf"))
w.commit()
with ix.reader() as r:
ti = r.term_info("t", u("delta"))
assert_equal(ti.min_id(), 1)
assert_equal(ti.max_id(), 3)
ti = r.term_info("t", u("alfa"))
assert_equal(ti.min_id(), 0)
assert_equal(ti.max_id(), 0)
ti = r.term_info("t", u("foxtrot"))
assert_equal(ti.min_id(), 3)
assert_equal(ti.max_id(), 4)
w = ix.writer()
w.add_document(id=5, t=u("foxtrot golf hotel"))
w.add_document(id=6, t=u("golf hotel alfa"))
w.add_document(id=7, t=u("hotel alfa bravo"))
w.add_document(id=8, t=u("alfa bravo charlie"))
w.commit(merge=False)
with ix.reader() as r:
ti = r.term_info("t", u("delta"))
assert_equal(ti.min_id(), 1)
assert_equal(ti.max_id(), 3)
ti = r.term_info("t", u("alfa"))
assert_equal(ti.min_id(), 0)
assert_equal(ti.max_id(), 8)
ti = r.term_info("t", u("foxtrot"))
assert_equal(ti.min_id(), 3)
assert_equal(ti.max_id(), 5)
示例10: test_bypass_stemming
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_bypass_stemming():
ana = analysis.StemmingAnalyzer()
schema = fields.Schema(text=fields.TEXT(analyzer=ana, spelling=True))
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(text=u("rendering shading modeling reactions"))
w.commit()
with ix.reader() as r:
fieldobj = schema["text"]
assert [fieldobj.from_bytes(t) for t in r.lexicon("text")] == ["model", "reaction", "render", "shade"]
assert list(r.word_graph("text").flatten_strings()) == ["modeling", "reactions", "rendering", "shading"]
示例11: test_bypass_stemming
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_bypass_stemming():
from whoosh.support.dawg import flatten
ana = analysis.StemmingAnalyzer()
schema = fields.Schema(text=fields.TEXT(analyzer=ana, spelling=True))
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(text=u("rendering shading modeling reactions"))
w.commit()
with ix.reader() as r:
assert_equal(list(r.lexicon("text")), ["model", "reaction", "render", "shade"])
assert_equal(list(flatten(r.word_graph("text"))), ["modeling", "reactions", "rendering", "shading"])
示例12: test_multivalue
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_multivalue():
schema = fields.Schema(id=fields.STORED, date=fields.DATETIME, num=fields.NUMERIC)
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(id=1, date=datetime(2001, 1, 1), num=5)
w.add_document(id=2, date=[datetime(2002, 2, 2), datetime(2003, 3, 3)],
num=[1, 2, 3, 12])
w.commit()
nfield = schema["num"]
dfield = schema["date"]
with ix.reader() as r:
assert ("num", nfield.to_text(3)) in r
assert ("date", dfield.to_text(datetime(2003, 3, 3))) in r
示例13: test_multivalue
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_multivalue():
schema = fields.Schema(s=fields.TEXT(sortable=True),
n=fields.NUMERIC(sortable=True))
ix = RamStorage().create_index(schema)
with ix.writer(codec=W3Codec()) as w:
w.add_document(s=u("alfa foxtrot charlie").split(), n=[100, 200, 300])
w.add_document(s=u("juliet bravo india").split(), n=[10, 20, 30])
with ix.reader() as r:
scr = r.column_reader("s")
assert list(scr) == ["alfa", "juliet"]
ncr = r.column_reader("n")
assert list(ncr) == [100, 10]
示例14: test_simplify
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_simplify():
s = fields.Schema(k=fields.ID, v=fields.TEXT)
ix = RamStorage().create_index(s)
w = ix.writer()
w.add_document(k=u("1"), v=u("aardvark apple allan alfa bear bee"))
w.add_document(k=u("2"), v=u("brie glue geewhiz goop julia"))
w.commit()
r = ix.reader()
q1 = And([Prefix("v", "b", boost=2.0), Term("v", "juliet")])
q2 = And([Or([Term('v', u('bear'), boost=2.0), Term('v', u('bee'), boost=2.0),
Term('v', u('brie'), boost=2.0)]), Term('v', 'juliet')])
assert_equal(q1.simplify(r), q2)
示例15: test_reader_corrector_nograph
# 需要导入模块: from whoosh.filedb.filestore import RamStorage [as 别名]
# 或者: from whoosh.filedb.filestore.RamStorage import reader [as 别名]
def test_reader_corrector_nograph():
schema = fields.Schema(text=fields.TEXT)
ix = RamStorage().create_index(schema)
w = ix.writer()
w.add_document(text=u("render zorro kaori postal"))
w.add_document(text=u("reader zebra koala pastry"))
w.add_document(text=u("leader libra ooala paster"))
w.add_document(text=u("feeder lorry zoala baster"))
w.commit()
with ix.reader() as r:
sp = spelling.ReaderCorrector(r, "text")
assert sp.suggest(u("kaola"), maxdist=1) == ['koala']
assert sp.suggest(u("kaola"), maxdist=2) == ['koala', 'kaori', 'ooala', 'zoala']