|
2 | 2 |
|
3 | 3 | use pyo3::exceptions;
|
4 | 4 | use pyo3::prelude::*;
|
5 |
| -use pyo3::types::{PyAny, PyDict, PyList, PyTuple}; |
| 5 | +use pyo3::types::PyAny; |
6 | 6 |
|
7 | 7 | use crate::document::{extract_value, Document};
|
8 | 8 | use crate::query::Query;
|
@@ -305,7 +305,6 @@ impl Index {
|
305 | 305 | &self,
|
306 | 306 | query: &str,
|
307 | 307 | default_field_names: Option<Vec<String>>,
|
308 |
| - filters: Option<&PyDict>, |
309 | 308 | ) -> PyResult<Query> {
|
310 | 309 | let mut default_fields = vec![];
|
311 | 310 | let schema = self.index.schema();
|
@@ -337,49 +336,6 @@ impl Index {
|
337 | 336 | let parser =
|
338 | 337 | tv::query::QueryParser::for_index(&self.index, default_fields);
|
339 | 338 | let query = parser.parse_query(query).map_err(to_pyerr)?;
|
340 |
| - |
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 |
| - |
383 | 339 | Ok(Query { inner: query })
|
384 | 340 | }
|
385 | 341 | }
|
0 commit comments