Test reading an index from dir

Created and committed an index dir with 3 documents
master
petr-tik 2019-08-03 00:39:02 +01:00
parent 9864053cf8
commit b2a769f1d7
26 changed files with 96 additions and 0 deletions

View File

@ -123,3 +123,54 @@ class TestClass(object):
# no "bod" field # no "bod" field
with pytest.raises(ValueError): with pytest.raises(ValueError):
q_parser.parse_query("bod:title") q_parser.parse_query("bod:title")
class TestFromDiskClass(object):
@classmethod
def setup_class(cls):
builder = tantivy.SchemaBuilder()
title = builder.add_text_field("title", stored=True)
body = builder.add_text_field("body")
cls.default_args = [title, body]
schema = builder.build()
cls.schema = schema
cls.index = tantivy.Index(schema)
def test_exists(self):
# prefer to keep it separate in case anyone deletes this
# runs from the root directory
path_to_index = "tests/test_index/"
assert self.index.exists(path_to_index)
def test_opens_from_dir(self):
path_to_index = "tests/test_index/"
tantivy.Index(self.schema, path_to_index)
def test_create_readers(self):
path_to_index = "tests/test_index/"
idx = tantivy.Index(self.schema, path_to_index)
reload_policy = "OnCommit" # or "Manual"
assert idx.reader(reload_policy, 4)
assert idx.reader("Manual", 4)
def test_create_writer_and_reader(self):
path_to_index = "tests/test_index/"
idx = tantivy.Index(self.schema, path_to_index)
writer = idx.writer()
reload_policy = "OnCommit" # or "Manual"
reader = idx.reader(reload_policy, 4)
# check against the opstamp in the meta file
with open("tests/test_index/meta.json") as f:
expected_last_opstamp = json.load(f)["opstamp"]
assert writer.commit_opstamp == expected_last_opstamp
q_parser = tantivy.QueryParser.for_index(idx, self.default_args)
# get all documents
query = q_parser.parse_query("*")
top_docs = tantivy.TopDocs(10)
docs = reader.searcher().search(query, top_docs)
for (_score, doc_addr) in docs:
print(reader.searcher().doc(doc_addr))

View File

@ -0,0 +1 @@
["1fc74026b3954090b69817d58bcce59a.fieldnorm","f79c6d0a68e04210a4d026ecf151a1e7.pos","1fc74026b3954090b69817d58bcce59a.store","meta.json","f79c6d0a68e04210a4d026ecf151a1e7.fieldnorm","8949f79450d349e2bd51d885f44c354f.fieldnorm","f79c6d0a68e04210a4d026ecf151a1e7.posidx","8949f79450d349e2bd51d885f44c354f.store","8949f79450d349e2bd51d885f44c354f.term","8949f79450d349e2bd51d885f44c354f.pos","1fc74026b3954090b69817d58bcce59a.posidx","1fc74026b3954090b69817d58bcce59a.pos","8949f79450d349e2bd51d885f44c354f.posidx","f79c6d0a68e04210a4d026ecf151a1e7.idx","1fc74026b3954090b69817d58bcce59a.fast","f79c6d0a68e04210a4d026ecf151a1e7.fast","f79c6d0a68e04210a4d026ecf151a1e7.term","1fc74026b3954090b69817d58bcce59a.term","8949f79450d349e2bd51d885f44c354f.idx","1fc74026b3954090b69817d58bcce59a.idx","f79c6d0a68e04210a4d026ecf151a1e7.store","8949f79450d349e2bd51d885f44c354f.fast"]

View File

View File

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,44 @@
{
"segments": [
{
"segment_id": "1fc74026-b395-4090-b698-17d58bcce59a",
"max_doc": 1,
"deletes": null
},
{
"segment_id": "8949f794-50d3-49e2-bd51-d885f44c354f",
"max_doc": 1,
"deletes": null
},
{
"segment_id": "f79c6d0a-68e0-4210-a4d0-26ecf151a1e7",
"max_doc": 1,
"deletes": null
}
],
"schema": [
{
"name": "title",
"type": "text",
"options": {
"indexing": {
"record": "position",
"tokenizer": "default"
},
"stored": true
}
},
{
"name": "body",
"type": "text",
"options": {
"indexing": {
"record": "position",
"tokenizer": "default"
},
"stored": false
}
}
],
"opstamp": 6
}