mirror of
https://github.com/meilisearch/meilisearch.git
synced 2025-06-07 04:35:37 +00:00
fix logic
This commit is contained in:
parent
6738a4f6ee
commit
18aed75d3b
@ -2039,14 +2039,6 @@ async fn update_documents_with_geo_field() {
|
|||||||
@r###"
|
@r###"
|
||||||
{
|
{
|
||||||
"hits": [
|
"hits": [
|
||||||
{
|
|
||||||
"id": "4",
|
|
||||||
"_geo": {
|
|
||||||
"lat": "4",
|
|
||||||
"lng": "0"
|
|
||||||
},
|
|
||||||
"_geoDistance": 667170
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"id": "3",
|
"id": "3",
|
||||||
"_geo": {
|
"_geo": {
|
||||||
@ -2056,6 +2048,14 @@ async fn update_documents_with_geo_field() {
|
|||||||
"doggo": "kefir",
|
"doggo": "kefir",
|
||||||
"_geoDistance": 555975
|
"_geoDistance": 555975
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "4",
|
||||||
|
"_geo": {
|
||||||
|
"lat": "4",
|
||||||
|
"lng": "0"
|
||||||
|
},
|
||||||
|
"_geoDistance": 667170
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "1"
|
"id": "1"
|
||||||
},
|
},
|
||||||
|
@ -170,10 +170,10 @@ impl FacetedDocidsExtractor {
|
|||||||
let has_changed_for_geo_fields =
|
let has_changed_for_geo_fields =
|
||||||
inner.has_changed_for_geo_fields(rtxn, index, context.db_fields_ids_map)?;
|
inner.has_changed_for_geo_fields(rtxn, index, context.db_fields_ids_map)?;
|
||||||
|
|
||||||
if has_changed {
|
// 1. Delete old facet values
|
||||||
// 1. Delete old facet values
|
let mut del = facet_fn!(del);
|
||||||
let mut del = facet_fn!(del);
|
|
||||||
|
|
||||||
|
if has_changed {
|
||||||
extract_document_facets(
|
extract_document_facets(
|
||||||
inner.current(rtxn, index, context.db_fields_ids_map)?,
|
inner.current(rtxn, index, context.db_fields_ids_map)?,
|
||||||
new_fields_ids_map.deref_mut(),
|
new_fields_ids_map.deref_mut(),
|
||||||
@ -183,19 +183,20 @@ impl FacetedDocidsExtractor {
|
|||||||
distinct_field,
|
distinct_field,
|
||||||
&mut del,
|
&mut del,
|
||||||
)?;
|
)?;
|
||||||
|
}
|
||||||
|
if is_geo_enabled && has_changed_for_geo_fields {
|
||||||
|
extract_geo_document(
|
||||||
|
inner.current(rtxn, index, context.db_fields_ids_map)?,
|
||||||
|
inner.external_document_id(),
|
||||||
|
new_fields_ids_map.deref_mut(),
|
||||||
|
&mut del,
|
||||||
|
)?;
|
||||||
|
}
|
||||||
|
|
||||||
if is_geo_enabled && has_changed_for_geo_fields {
|
// 2. Insert new facet values
|
||||||
extract_geo_document(
|
let mut add = facet_fn!(add);
|
||||||
inner.current(rtxn, index, context.db_fields_ids_map)?,
|
|
||||||
inner.external_document_id(),
|
|
||||||
new_fields_ids_map.deref_mut(),
|
|
||||||
&mut del,
|
|
||||||
)?;
|
|
||||||
}
|
|
||||||
|
|
||||||
// 2. Insert new facet values
|
|
||||||
let mut add = facet_fn!(add);
|
|
||||||
|
|
||||||
|
if has_changed {
|
||||||
extract_document_facets(
|
extract_document_facets(
|
||||||
inner.merged(rtxn, index, context.db_fields_ids_map)?,
|
inner.merged(rtxn, index, context.db_fields_ids_map)?,
|
||||||
new_fields_ids_map.deref_mut(),
|
new_fields_ids_map.deref_mut(),
|
||||||
@ -205,15 +206,14 @@ impl FacetedDocidsExtractor {
|
|||||||
distinct_field,
|
distinct_field,
|
||||||
&mut add,
|
&mut add,
|
||||||
)?;
|
)?;
|
||||||
|
}
|
||||||
if is_geo_enabled && has_changed_for_geo_fields {
|
if is_geo_enabled && has_changed_for_geo_fields {
|
||||||
extract_geo_document(
|
extract_geo_document(
|
||||||
inner.merged(rtxn, index, context.db_fields_ids_map)?,
|
inner.merged(rtxn, index, context.db_fields_ids_map)?,
|
||||||
inner.external_document_id(),
|
inner.external_document_id(),
|
||||||
new_fields_ids_map.deref_mut(),
|
new_fields_ids_map.deref_mut(),
|
||||||
&mut add,
|
&mut add,
|
||||||
)?;
|
)?;
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
DocumentChange::Insertion(inner) => {
|
DocumentChange::Insertion(inner) => {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user