Remove SearchableAttributes; fix #429

This commit is contained in:
qdequele 2020-01-03 10:00:04 +01:00
parent 73918d803c
commit 203c83bdb4
No known key found for this signature in database
GPG Key ID: B3F0A000EBF11745
2 changed files with 1 additions and 29 deletions

View File

@ -77,7 +77,6 @@ impl IndexSearchExt for Index {
limit: 20, limit: 20,
attributes_to_crop: None, attributes_to_crop: None,
attributes_to_retrieve: None, attributes_to_retrieve: None,
searchable_attributes: None,
attributes_to_highlight: None, attributes_to_highlight: None,
filters: None, filters: None,
timeout: Duration::from_millis(30), timeout: Duration::from_millis(30),
@ -93,7 +92,6 @@ pub struct SearchBuilder<'a> {
limit: usize, limit: usize,
attributes_to_crop: Option<HashMap<String, usize>>, attributes_to_crop: Option<HashMap<String, usize>>,
attributes_to_retrieve: Option<HashSet<String>>, attributes_to_retrieve: Option<HashSet<String>>,
searchable_attributes: Option<HashSet<String>>,
attributes_to_highlight: Option<HashSet<String>>, attributes_to_highlight: Option<HashSet<String>>,
filters: Option<String>, filters: Option<String>,
timeout: Duration, timeout: Duration,
@ -127,17 +125,6 @@ impl<'a> SearchBuilder<'a> {
self self
} }
pub fn searchable_attributes(&mut self, value: HashSet<String>) -> &SearchBuilder {
self.searchable_attributes = Some(value);
self
}
pub fn add_attribute_to_search_in(&mut self, value: String) -> &SearchBuilder {
let searchable_attributes = self.searchable_attributes.get_or_insert(HashSet::new());
searchable_attributes.insert(value);
self
}
pub fn attributes_to_highlight(&mut self, value: HashSet<String>) -> &SearchBuilder { pub fn attributes_to_highlight(&mut self, value: HashSet<String>) -> &SearchBuilder {
self.attributes_to_highlight = Some(value); self.attributes_to_highlight = Some(value);
self self
@ -176,13 +163,6 @@ impl<'a> SearchBuilder<'a> {
None => self.index.query_builder(), None => self.index.query_builder(),
}; };
// Filter searchable fields
if let Some(fields) = &self.searchable_attributes {
for attribute in fields.iter().filter_map(|f| schema.attribute(f)) {
query_builder.add_searchable_attribute(attribute.0);
}
}
if let Some(filters) = &self.filters { if let Some(filters) = &self.filters {
let mut split = filters.split(':'); let mut split = filters.split(':');
match (split.next(), split.next()) { match (split.next(), split.next()) {

View File

@ -20,7 +20,6 @@ struct SearchQuery {
offset: Option<usize>, offset: Option<usize>,
limit: Option<usize>, limit: Option<usize>,
attributes_to_retrieve: Option<String>, attributes_to_retrieve: Option<String>,
searchable_attributes: Option<String>,
attributes_to_crop: Option<String>, attributes_to_crop: Option<String>,
crop_length: Option<usize>, crop_length: Option<usize>,
attributes_to_highlight: Option<String>, attributes_to_highlight: Option<String>,
@ -60,11 +59,7 @@ pub async fn search_with_url_query(ctx: Context<Data>) -> SResult<Response> {
search_builder.add_retrievable_field(attr.to_string()); search_builder.add_retrievable_field(attr.to_string());
} }
} }
if let Some(searchable_attributes) = query.searchable_attributes {
for attr in searchable_attributes.split(',') {
search_builder.add_attribute_to_search_in(attr.to_string());
}
}
if let Some(attributes_to_crop) = query.attributes_to_crop { if let Some(attributes_to_crop) = query.attributes_to_crop {
let crop_length = query.crop_length.unwrap_or(200); let crop_length = query.crop_length.unwrap_or(200);
if attributes_to_crop == "*" { if attributes_to_crop == "*" {
@ -189,9 +184,6 @@ pub async fn search_multi_index(mut ctx: Context<Data>) -> SResult<Response> {
if let Some(attributes_to_retrieve) = par_body.attributes_to_retrieve.clone() { if let Some(attributes_to_retrieve) = par_body.attributes_to_retrieve.clone() {
search_builder.attributes_to_retrieve(attributes_to_retrieve); search_builder.attributes_to_retrieve(attributes_to_retrieve);
} }
if let Some(searchable_attributes) = par_body.searchable_attributes.clone() {
search_builder.searchable_attributes(searchable_attributes);
}
if let Some(attributes_to_crop) = par_body.attributes_to_crop.clone() { if let Some(attributes_to_crop) = par_body.attributes_to_crop.clone() {
search_builder.attributes_to_crop(attributes_to_crop); search_builder.attributes_to_crop(attributes_to_crop);
} }