Skip to content

Commit 5a1af80

Browse files
committed
Simplify parse query facets format
1 parent 79e661c commit 5a1af80

File tree

2 files changed

+2
-45
lines changed

2 files changed

+2
-45
lines changed

src/index.rs

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -305,7 +305,6 @@ impl Index {
305305
&self,
306306
query: &str,
307307
default_field_names: Option<Vec<String>>,
308-
filters: Option<&PyDict>,
309308
) -> PyResult<Query> {
310309
let mut default_fields = vec![];
311310
let schema = self.index.schema();
@@ -338,48 +337,6 @@ impl Index {
338337
tv::query::QueryParser::for_index(&self.index, default_fields);
339338
let query = parser.parse_query(query).map_err(to_pyerr)?;
340339

341-
if let Some(filters_dict) = filters {
342-
let mut query_vec = Vec::new();
343-
query_vec.push((tv::query::Occur::Must, query));
344-
for key_value_any in filters_dict.items() {
345-
if let Ok(key_value) = key_value_any.downcast::<PyTuple>() {
346-
if key_value.len() != 2 {
347-
continue;
348-
}
349-
let key: String = key_value.get_item(0).extract()?;
350-
let field = schema.get_field(&key).ok_or_else(|| {
351-
exceptions::ValueError::py_err(format!(
352-
"Field `{}` is not defined in the schema.",
353-
key
354-
))
355-
})?;
356-
357-
if let Ok(value_list) =
358-
key_value.get_item(1).downcast::<PyList>()
359-
{
360-
for value_element in value_list {
361-
if let Ok(s) = value_element.extract::<String>() {
362-
let facet = tv::schema::Facet::from_text(&s);
363-
let term =
364-
tv::schema::Term::from_facet(field, &facet);
365-
let term_query = tv::query::TermQuery::new(
366-
term,
367-
tv::schema::IndexRecordOption::Basic,
368-
);
369-
let query: Box<dyn tv::query::Query> =
370-
Box::new(term_query);
371-
query_vec.push((tv::query::Occur::Must, query));
372-
}
373-
}
374-
}
375-
}
376-
}
377-
let boolean_query = tv::query::BooleanQuery::from(query_vec);
378-
return Ok(Query {
379-
inner: Box::new(boolean_query),
380-
});
381-
}
382-
383340
Ok(Query { inner: query })
384341
}
385342
}

tests/tantivy_test.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,13 +129,13 @@ def test_and_query_parser_default_fields_undefined(self, ram_index):
129129

130130
def test_and_query_parser_default_fields_facets(self, ram_index):
131131
index = ram_index
132-
query = index.parse_query("old", default_field_names=["title", "body"], filters={"facet": ["/mytag"]})
132+
query = index.parse_query("old +facet:/mytag", default_field_names=["title", "body"])
133133
# look for an intersection of documents
134134
searcher = index.searcher()
135135
result = searcher.search(query, 10)
136136
assert result.count == 1
137137

138-
query = index.parse_query("old", default_field_names=["title", "body"], filters={"facet": ["/wrongtag"]})
138+
query = index.parse_query("old +facet:/wrong", default_field_names=["title", "body"])
139139
# look for an intersection of documents
140140
searcher = index.searcher()
141141
result = searcher.search(query, 10)

0 commit comments

Comments
 (0)