diff --git a/src/query.rs b/src/query.rs index 962d30d..06222cb 100644 --- a/src/query.rs +++ b/src/query.rs @@ -43,4 +43,13 @@ impl Query { inner: Box::new(inner), }) } + + /// Construct a Tantivy's AllQuery + #[staticmethod] + pub(crate) fn all_query() -> PyResult { + let inner = tv::query::AllQuery {}; + Ok(Query { + inner: Box::new(inner), + }) + } } diff --git a/tantivy/tantivy.pyi b/tantivy/tantivy.pyi index 06c5690..35b058f 100644 --- a/tantivy/tantivy.pyi +++ b/tantivy/tantivy.pyi @@ -193,6 +193,10 @@ class Query: def term_query(schema: Schema, field_name: str, field_value: Any, index_option: str = "position") -> Query: pass + @staticmethod + def all_query() -> Query: + pass + class Order(Enum): Asc = 1 diff --git a/tests/tantivy_test.py b/tests/tantivy_test.py index 5d32f87..a89376c 100644 --- a/tests/tantivy_test.py +++ b/tests/tantivy_test.py @@ -764,3 +764,10 @@ class TestQuery(object): _, doc_address = result.hits[0] searched_doc = index.searcher().doc(doc_address) assert searched_doc["title"] == ["The Old Man and the Sea"] + + def test_all_query(self, ram_index): + index = ram_index + query = Query.all_query() + + result = index.searcher().search(query, 10) + assert len(result.hits) == 3